home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / gfx / 3d / rayst040.lha / basic.lha / Docs / RayStorm.doc next >
Text File  |  1996-11-30  |  111KB  |  3,629 lines

  1.  
  2.                                                               November 29th 1996
  3.  
  4.                           R a y S t o r m   ›3mv1.7›0m
  5.  
  6.                      by Andreas Heumann and Mike Hesser
  7.  
  8.  ›0m›1m1. Introduction›0m
  9.    ›3m Introduction       ›0m     What is RayStorm?
  10.    ›3m Requirements       ›0m     What do I need to run it?
  11.    ›3m Features           ›0m     What can Scenario do?
  12.    ›3m Limitations        ›0m     What limitations has the demo version?
  13.  
  14.  ›0m›1m2. Installation›0m
  15.    ›3m Installation       ›0m     How can I install it?
  16.  
  17.  ›0m›1m3. General information›0m
  18.    ›3m Raytracing         ›0m     What is raytracing?
  19.    ›3m Octree             ›0m     What is an octree?
  20.    ›3m Antialiasing       ›0m     What is antialiasing?
  21.    ›3m Depth of field     ›0m     What is Depth of Field?
  22.    ›3m Soft shadows       ›0m     What are soft shadows?
  23.    ›3m Motion Blur        ›0m     What is Motion Blur?
  24.    ›3m Surfaces           ›0m     What meaning have the surface parameters?
  25.    ›3m Directory Structure›0m     Some words to directory and project structures.
  26.    ›3m Virtual Memory     ›0m     How do I use virutal memory?
  27.    ›3m Internals          ›0m     Some internal details.
  28.    ›3m Tips & Tricks      ›0m     Useful tips,tricks and hints (FAQ)
  29.    ›3m Textures           ›0m     How do I use textures?
  30.  
  31.  ›0m›1m3. Scenario Usage›0m
  32.    ›3m Usage              ›0m     How do I use Scenario?
  33.    ›3m Menus              ›0m     Description of the menus.
  34.    ›3m Buttons            ›0m     Description of the buttons.
  35.    ›3m Object Menus       ›0m     Description of object orientated menus.
  36.    ›3m Keyboard Control   ›0m     How do I use Scenario with the keyboard?
  37.  
  38.  ›0m›1m4. Script Usage›0m
  39.    ›3m ARexx interface    ›0m     Which commands doe it have?
  40.    ›3m Examples           ›0m     How do I use the examples?
  41.    ›3m Tutorials          ›0m     Some tutorials
  42.  
  43.  ›0m›1m5. Registration›0m
  44.    ›3m Register           ›0m     What must I do to register?
  45.  
  46.  ›0m›1m6. Misc›0m
  47.    ›3m Known Bugs         ›0m     Bugs
  48.    ›3m Credits            ›0m     Thanks go to...
  49.    ›3m Authors            ›0m     Who wrote it?
  50.    ›3m Literature         ›0m     Which books do we use?
  51.    ›3m PC-Version         ›0m     Where can I get the PC-version?
  52.    ›3m Homepage           ›0m     Where to find us on the World Wide Web.
  53.    ›3m History            ›0m     What happened in the past?
  54.    ›3m Future             ›0m     What is planned for the future?
  55.  
  56.  ›0m›1m7. Legal Stuff›0m
  57.    ›3m Legal Stuff        ›0m     Legal stuff
  58.  
  59.  
  60. ›0m›1mINTRODUCTION›0m
  61.  
  62. This document describes the raytracing package RayStorm. This package consists
  63. of two parts:
  64. - The scene modeler ›0m›1mScenario›0m which is the graphical user interface
  65.   (GUI) of the RayStorm package.
  66. - The script interface ›0m›1mRayStorm Script›0m, a program wich allowes one
  67.   to use the raytracer through a script language.
  68. - The heart of RayStorm: ›0m›1mRayStorm Raytracer›0m, wich generates the
  69.   picture from a scene description (this part is not visible for the user
  70.   but nevertheless it's the main part).
  71.  
  72. Here are some additional informations to the parts:
  73.  
  74.   ›3mRayStorm Scenario›0m
  75.   ›3mRayStorm Script›0m
  76.   ›3mRayStorm Raytracer›0m
  77.  
  78. ›0m›1mINTRODUCTION TO SCENARIO›0m
  79.  
  80. As we developed Scenario we tried to make the user interface to use as
  81. easy as possible to enable even absolute beginners to work with it. Therefore
  82. almost all actions can be performed with the mouse. For advanced users we
  83. implemented keyboard shortcuts for almost all functions.
  84.  
  85. ›0m›1mINTRODUCTION TO RAYSTORM SCRIPT›0m
  86.  
  87. The script language that contains the description of the scene is easy to
  88. learn and offers some powerful capabilities. In addition, the script language
  89. has a full support for key frame animation.
  90.  
  91. A RayStorm script file (.ray files) is basically divided into the following
  92. sections:
  93. - Various settings of the camera, the world and the lights,
  94. - Definitions of the different textured surfaces,
  95. - Different actors that set the Motion Blur and animation parameters,
  96. - Objects that are associated with surfaces and actors
  97. - Settings for the final rendered graphic.
  98.  
  99. For a more detailed description click ›3mhere›0m.
  100.  
  101. ›0m›1mINTRODUCTION TO RAYSTORM RAYTRACER›0m
  102.  
  103. The raytracer itself is a part to RayStorm which is not directly visible.
  104. All features of the raytracer are packed into a shared library. Both Scenario
  105. and RayStorm Script use this library to render their scenes.
  106.  
  107. The raytracer is based on a fast octree algorithm. It has some powerfull
  108. features such as ›3mMotion Blur›0m and ›3mDepth of Field›0m.
  109.  
  110. ›0m›1mGENERAL›0m
  111.  
  112. Raytracing makes it possible to generate fotorealistic pictures of objects.
  113.  
  114. A raytracer casts a ray form the position of the viewer through a scene
  115. and calculates possible intersections with the objects in that scene. If an
  116. intersection is found, the raytracer decides which color the object
  117. at this position has. If the object is reflective or transparent, the
  118. raytracer casts new rays from this positon and tests the intersections
  119. again and so on.
  120.  
  121. To make the surfaces of the objects more realistic, textures which
  122. simulate marble, wood other surfaces can be used.
  123.  
  124. ›0m›1mOCTREE›0m
  125. Simple raytracers determine the intersections with objects by testing all
  126. objects. This can lead to long rendering times if there are a lot of
  127. objects in the scene.
  128.  
  129. One solution of this problem is the Octree algorithm.
  130. This algorithm divides the scene into eight child-cells recursively until
  131. there is less than oe object in the cell or the maximum depth of the tree is reached.
  132.  
  133. Division of space with the octree algorithm:
  134.                _
  135.                /| z
  136.               /
  137.      /-------/-------/|
  138.  ^ y/       /       / |
  139.  | / left  / right / b|
  140.  |/       /       / |a|
  141.  |-------/-------| f|c|
  142.  |               | r|k|
  143.  |      up       | o| /
  144.  |---------------| n|/
  145.  |               | t|
  146.  |     down      | /  x
  147.  |---------------|/-->
  148.  
  149. ›0m›1mANTIALIASING›0m
  150.  
  151. RayStorm uses a algorithm called 'Adaptive Supersampling' to do antialiasing.
  152. For each pixel with a high contrast against its four neighbours, the algorithm
  153. casts new rays which are close to the ray used for the pixel itself. The new
  154. color of the pixel is calculated with the supersampled pixels and the gaussian
  155. filter.
  156.  
  157. Supersampling is also used to do ›3mdepth of field›0m and ›3msoft shadows›0m. So if
  158. you want to use this features you have to set a antialiasing value greater
  159. than one. (-> ›3mANTIALIAS›0m)
  160.  
  161. Example:
  162. Settings: squareroot of number of samples per pixel: 3
  163.  
  164. |--------|--------|--------|
  165. | super- | super- | super- |
  166. | sampled| sampled| sampled|
  167. |        |        |        |
  168. |--------|--------|--------|
  169. | super- |        | super- |
  170. | sampled| pixel  | sampled|
  171. |        |        |        |
  172. |--------|--------|--------|
  173. | super- | super- | super- |
  174. | sampled| sampled| sampled|
  175. |        |        |        |
  176. |--------|--------|--------|
  177.  
  178. |- Gaussian filter width  -|
  179.  
  180. The rendering time increases dramatically if you use antialiasing. The
  181. values below depend on the contrast of the picture.
  182.  
  183. Samplesetting     rendering time
  184.                   average case     worst case
  185. 1                 x1                x1
  186. 2                 x2                x4
  187. 3                 x4                x8
  188. 4                 x8               x16
  189. ...               ...              ...
  190.  
  191. Setting higher than 3 are not leading to significant better results.
  192.  
  193. ›0m›1mDEPTH OF FIELD›0m
  194.  
  195. Objects in computer graphics are normally rendered in an image plane
  196. using a pinhole camera model. That is to say, no matter how far or how
  197. near the objects are from the camera, they are always in sharp focus.
  198. Depth of field means that only objects at a certain distance from the
  199. camera lens are in sharp focus. Further and nearer objects produce a
  200. blurred image on the film plane.
  201.  
  202. [From 'Advanced Animation and Rendering Techniques']
  203.  
  204. To use depth of field you have to set ›3mANTIALIAS›0m to a value bigger
  205. than one.
  206.  
  207. ›3mExample for DOF›0m
  208.  
  209. ›0m›1mSOFT SHADOWS›0m
  210.  
  211. Real Light sources never have a zero size, therefore the shadows behind
  212. objects are never hard edged, they are soft. RayStorm generates this
  213. shadows by jittering the position of the light source. To use soft shadows
  214. you must set ›3mDISTRIB›0m to a value bigger than one.
  215.  
  216. ›0m›1mMOTION BLUR›0m
  217.  
  218. Motion blur is temporal anti-aliasing. In animated sequences, the normal
  219. rendering process functions like a camera that possesses an infinitely
  220. short exposure time and this eliminates the blurring of the image due
  221. to relative motion between an object and the film plane. When a series of
  222. images, generated without motion blur, is displayed as an animated
  223. sequence, the illusion of smooth motion is diminished by strobing effects.
  224. As human beings we expect to see loss of detail in moving images.
  225.  
  226. Motion blur is accounted for in distributed ray tracing by extending the
  227. distributed sampling and jittering into the time domain and computing a
  228. solution that extracts information from the scen over the duration of the
  229. shutter exposure time. Objects are moved as required in the time period
  230. and visibility consequently changes over this time intervall. This method
  231. ensures that highlights and shadows are blurred or not, depending on the
  232. nature of the motion.
  233.  
  234. [From 'Advanced Animation and Rendering Techniques']
  235.  
  236. ›0m›1mSURFACES›0m
  237.  
  238. Ambient (set with AMBIENT)
  239.  
  240. This determines the color of the object in sections which are in shadow.
  241.  
  242. Diffuse reflection (set with DIFFUSE)
  243.  
  244. The diffuse reflection falls off as the cosine of the angle between
  245. the normal and the ray to the light. Diffuse reflection determines the
  246. main color of the object (color in Imagine).
  247.  
  248. Specularly reflected highlights (set with SPECULAR)
  249.  
  250. Specularly reflected highlights fall off as the cosine of the angle
  251. between the reflected ray and the ray to the light source (specular in
  252. Imagine)
  253.  
  254. Specular reflection exponent (set with REFEXP)
  255.  
  256. Determines the size of the specularly reflected highlights, the higher
  257. the smaller the highlight (hardness in Imagine)
  258.  
  259. Diffuse transmission (set with DIFFTRANS)
  260.  
  261. Same as diffuse reflection, but only used if the lightsource is on
  262. opposite side of surface. Only applied if tranlucency is not 0.
  263.  
  264. Specular transmission (set with SPECTRANS)
  265.  
  266. Same as specular reflection, but only used if the lightsource is on
  267. opposite side of surface. Only applied if tranlucency is not 0.
  268.  
  269. Specular transmission exponent (set with TRANSEXP)
  270.  
  271. Same as specular reflection exponent, but only used if the lightsource
  272. is on opposite side of surface.
  273.  
  274. Specular transmittance (set with TRANSLUC)
  275.  
  276. Specular transmittance.
  277.  
  278. Transparency (set with TRANSPAR)
  279.  
  280. Transparent color (filter in Imagine).
  281.  
  282. Reflectivity (set with REFLECT)
  283.  
  284. Reflective color (reflect in Imagine).
  285.  
  286. Fog lenght (set with FOGLEN) (fog in Imagine).
  287.  
  288. Index of refraction (set with REFRINDEX)
  289.  
  290. Determines how the ray through transparent objects is refracted, the higher
  291. the more (index of refraction in Imagine).
  292. Is calculated with the formula
  293.  
  294.             lightspeed in vacuum
  295.    index = ----------------------
  296.             lightspeed in object    .
  297.  
  298.  
  299.  
  300. ›0m›1mDIRECTORY AND PROJECT STRUCTURE›0m
  301.  
  302. scenario             the root directory of scenario
  303. |-brushes            the brush directory (you can create subdirectories here)
  304. | |- brush 1
  305. | |- brush 2
  306. | |- ...
  307. | |- brush n
  308. |-objects            the objects directory (you can create subdirectories here)
  309. | |- object 1
  310. | |- object 1
  311. | |- ...
  312. | |- object n
  313. |-textures           the textures directory (you can create subdirectories here)
  314. | |- texture 1
  315. | |- texture 2
  316. | |- ...
  317. | |- texture n
  318. |-projects           the projects directory (Scenario creates for every project a subdirectory)
  319.   |-project 1        the first project
  320.   | |- project.scn   the file where the scene is stored (has always this name)
  321.   | |-brushes        the directory for brushes which are local to this project
  322.   | | |- ...
  323.   | |-objects        the directory for objects which are local to this object
  324.   | | |- ...
  325.   | |- pic.0001      the rendered pictures
  326.   | |- pic.0002
  327.   | |- ...
  328.   | |- pic.n
  329.   |- project 2       another project
  330.   |- ...
  331.   |- project n
  332.  
  333. The default project directory can be set with the ›3mpreferences›0m.
  334.  
  335. ›0m›1mVIRTUAL MEMORY›0m
  336.  
  337. RayStorm has been tested succesfully with VMM 3.1 from Martin Apel. If you
  338. want use RayStorm with virtual memory notice follwing hints:
  339.  
  340. - set Minimum VM allocation to 100 bytes if you define large scenes with
  341.   many objects, because RayStorm only allocates small pieces of memory for
  342.   single objects (less then 200 bytes). If you're loading Imagine objects
  343.   RayStorm allocates big blocks of memory so you don't have to set Minimum
  344.   VM allocation to 100.
  345. - use a partition or a pseudo-partition for VMM, this is faster
  346.  
  347. ›0m›1mINTERNALS›0m
  348.  
  349. The development of RayStorm has started in march 1995.
  350.  
  351. ›0m›1mCompiler›0m
  352.  
  353. - Amiga
  354.   Originally, RayStorm has been developed on Amiga using Maxon C++ 3.0
  355.   Developer. The final Amiga version was compiled with StormC 1.1.
  356. - PC
  357.   The PC version was compiled with WATCOM C++ 10.5.
  358.  
  359. ›0m›1mMemory requirements of the raytracer›0m
  360.  
  361. Triangle:      156 Bytes (flat shaded)
  362.                192 Bytes (Phong shaded)
  363. Sphere:         70 Bytes
  364. Plane:          78 Bytes
  365. Surface:       122 Bytes + length of name
  366. Screenbuffer:    4 Bytes per pixel
  367.  
  368. Memory requirements of the octree depends on the scene.
  369.  
  370. ›0m›1mSource Code›0m
  371.  
  372. About 70.000 lines of C++-Code in more than 250 modules (about
  373. 1.6 MByte of source).
  374.  
  375. ›0m›1mREQUIREMENTS›0m
  376.  
  377. (1) You will need at least Kickstart 2.0.
  378.  
  379. (2) 040-version: 68040 processor (with internal FPU)
  380.  
  381. (3) 881-version: 68020 processor or better and a mathematical coprocessor)
  382.  
  383. (4) 020-version: 68020 processor (no math coprocessor needed)
  384.  
  385. (5) 2MB RAM minimum
  386.  
  387. (6) RayStorm was written using MUI. Therefore you need muimaster.library
  388.     V3.3 or better to run RayStorm.
  389.  
  390. recommended: 68040, 8MB RAM, Harddisk, GFX-Board
  391.  
  392. The faster the better :-).
  393.  
  394. Tested with:
  395. A1200 68030/50, 6MB, 200MB HD
  396. A2000 68040/30, 9MB, 250+250MB HD, Merlin Gfx-board
  397. A2000 68030/14, 68882/20, 4MB, 730+52MB HD
  398. A4000 68030/25, 68882/57, 10MB, 730+80MB HD, Cybervision 64 Gfx-board
  399.  
  400. ›0m›1mFEATURES›0m
  401.  
  402. ›0m›1mScenario›0m
  403.  
  404. - create spheres, planes, lightsources and cameras
  405. - create mesh objects: cubes, spheres, planes, tubes and cones
  406. - unlimited amount of cameras to view scene from different directions
  407. - define surfaces for all objects, including brushes and textures
  408. - load external objects (RayStorm object files, Imagine TDDD files,
  409.   AutoDesk 3DS files and RAW files)
  410. - save and load scenes
  411. - save and load objects
  412. - group and ungroup objects
  413. - preview of surfaces in material requester
  414. - render scenes with RayStorm Raytracer
  415. - preview of renderd scenes
  416. - quadview
  417.  
  418. ›0m›1mRayStorm Script›0m
  419.  
  420. - ARexx port with 38 commands
  421.  
  422. ›0m›1mRayStorm Raytracer›0m
  423.  
  424. - Up to 30% faster than Imagine (in trace mode).
  425. - Octree algorithm used for rendering.
  426. - Motion blur for realistic simulations of moving objects.
  427. - Color, reflectivity, filter, altitude and specular mapping.
  428. - Flat, cylinder and sphere mapping.
  429. - Soft brush mapping.
  430. - Mathematical textures: wood, marble, bumps, checker, linear, radial and
  431.   stars.
  432. - Tranparency and physically correct refractions.
  433. - 8 levels of antialiasing (adaptive supersampling).
  434. - Rendering box.
  435. - Three builtin object types: sphere, plane and triangle.
  436. - Three light types: ambient, point and spot.
  437. - Depth of field with adjustable focal distance and aperture.
  438. - Soft shadows.
  439. - Backdrop picture.
  440. - Global fog and foggy objects.
  441. - Material attributes for realictic objects: ambient color, diffuse color,
  442.   specular color, specular reflection exponent, diffuse transmission color,
  443.   specular transmission color, specular transmission exponent, specular
  444.   transmittance, transparent color, reflective color, index of refraction,
  445.   foglength.
  446. - Bright objects.
  447. - Quick rendering.
  448. - Global reflection map.
  449. - Image formates: IFF-ILBM, PNG, TGA and Datatypes.
  450. - Object format: RayStorm object file, Imagine-TDDD, Autodesk 3DS and RAW
  451. - New image- and object-formats can be easily included because of the
  452.   modular concept.
  453.  
  454. ›0m›1mLIMITATIONS›0m
  455.  
  456. The demo version is limited to a resolution of 160x128. The registered version
  457. does not have any limitations.
  458. Click ›3mhere›0m for information on how to register RayStorm.
  459.  
  460. ›0m›1mINSTALLATION›0m
  461.  
  462. There is a installation script included in the archive which uses the
  463. Commodore Installer. Run it to install RayStorm Scenario.
  464.  
  465. ›0m›1mUSAGE›0m
  466.  
  467. After you have started Scenario you see the worksheet.
  468.  
  469. At the top of the sheet are the buttons to control view mode, display mode,
  470. edit mode and currently active directions. Here you also can see the
  471. coordinate display.
  472. Below this button bar is the work area. At startup you can see a grid in
  473. the middle and the camera (note: there must always remain at least one camera
  474. in the scene).
  475.  
  476. All objects, cameras and light sources have a axis to handle it. The axis
  477. consist of a rectangular area - the hot spot or handle - and three lines
  478. which show the orientation of the axis. The axis can be selected by clicking
  479. with the left mouse button at the handle. If it is selected the color of
  480. the axis and the object changes.
  481.  
  482. Clicking with the left mouse button invokes the modify mode. According to the
  483. slected mode (move, rotate or scale) the world or the selected object(s) can
  484. be modified.
  485.  
  486. Clicking with the right mouse button opens object specific menus (see
  487. ›3mObject Menus›0m).
  488.  
  489. ›0m›1mMENUS›0m
  490.  
  491.   Project
  492.    ›3m New               ›0m
  493.    ›3m Open...           ›0m
  494.    ›3m Save              ›0m
  495.    ›3m Save As...        ›0m
  496.    ›3m Render settings...›0m
  497.    ›3m Render            ›0m
  498.    ›3m About...          ›0m
  499.    ›3m Quit              ›0m
  500.  
  501.   Edit
  502.    ›3m Cut               ›0m
  503.    ›3m Copy              ›0m
  504.    ›3m Paste             ›0m
  505.    ›3m Delete            ›0m
  506.    ›3m Select all        ›0m
  507.    ›3m Deselect all      ›0m
  508.    ›3m Select next       ›0m
  509.    ›3m Select previous   ›0m
  510.    ›3m Mode              ›0m
  511.    ›3m Active            ›0m
  512.  
  513.   View
  514.    ›3m Redraw            ›0m
  515.    ›3m Focus             ›0m
  516.    ›3m Zoom in           ›0m
  517.    ›3m Zoom out          ›0m
  518.    ›3m Zoom fit          ›0m
  519.    ›3m View              ›0m
  520.    ›3m Camera to viewer  ›0m
  521.    ›3m Grid              ›0m
  522.    ›3m Snap to Grid      ›0m
  523.    ›3m Gridsize...       ›0m
  524.    ›3m Show              ›0m
  525.    ›3m Global settings...›0m
  526.  
  527.   Object
  528.    ›3m Attributes...     ›0m
  529.    ›3m Settings...       ›0m
  530.    ›3m Group             ›0m
  531.    ›3m UnGroup           ›0m
  532.    ›3m Load...           ›0m
  533.    ›3m Save...           ›0m
  534.    ›3m Create            ›0m
  535.    ›3m Mesh              ›0m
  536.    ›3m Active Camera...  ›0m
  537.    ›3m Browse...         ›0m
  538.  
  539.   Settings
  540.    ›3m Prefs...          ›0m
  541.    ›3m MUI...            ›0m
  542.    ›3m Load              ›0m
  543.    ›3m Save              ›0m
  544.  
  545. ›0m›1mNEW PROJECT›0m
  546.  
  547. Deletes all objects and creates the default camera.
  548.  
  549. ›0m›1mOPEN PROJECT›0m
  550.  
  551. Load a new scene.
  552.  
  553. ›0m›1mSAVE PROJECT›0m
  554.  
  555. Save the current scene.
  556.  
  557. ›0m›1mSAVE PROJECT AS›0m
  558.  
  559. Save the current scene with the specified name.
  560.  
  561. ›0m›1mRENDER SETTINGS›0m
  562.  
  563. Opens the ›3mrender requester›0m. At top of the requester you can select the render
  564. resolutions with a listview or enter the values to the numeric fields. The
  565. values range from 0 to 65535. Here you also can set the rendering field.
  566. RayStorm renders only inside this field. The field is shown in the perspective
  567. window if camera view is switched on.
  568. The 'Show' flag sets enables the direct showing of the picture while the
  569. render process is running (needs KS 3.0 or better).
  570. The 'Quick' flag selects the quick rendering mode. In this mode RayStorm don't
  571. calculates shadows, transparency or reflections.
  572. The 'Octree depth' slider sets the maximum depth of the octree which RayStorm
  573. uses. For almost all scenes a vlaue of three is the best, but in complex scenes
  574. it may be better to use higher values. The higher this value is the longer takes
  575. the initialazion phase and the more memory is needed.
  576. The 'Filename' string gadget sets the filename of the generated picture and the
  577. cycle gadget sets the fileformat. You can show the rendered picture with the
  578. view button.
  579. The 'Ok' button closes the requester and stores the current settings, whereas the
  580. 'Cancel' button don't changes the settings.
  581. The 'Render' button starts the rendering of the current scene.
  582.  
  583. ›0m›1mRENDER PROJECT›0m
  584.  
  585. Renders the current scene.
  586.  
  587. ›0m›1mAbout›0m
  588.  
  589. Shows the about requester with the version number and the current Arexx port
  590. name.
  591.  
  592. ›0m›1mQUIT›0m
  593.  
  594. Quits Scenario.
  595.  
  596. ›0m›1mCUT›0m
  597.  
  598. Moves the currently selected objects to the paste buffer.
  599.  
  600. ›0m›1mCOPY›0m
  601.  
  602. Copys the currently selected objects to the paste buffer.
  603.  
  604. ›0m›1mPASTE›0m
  605.  
  606. Copys the currently selected objects from the paste buffer to the scene.
  607.  
  608. ›0m›1mDELETE›0m
  609.  
  610. Deletes the currently selected objects. The active camera can't be deleted.
  611.  
  612. ›0m›1mSELECT ALL›0m
  613.  
  614. Selects all objects.
  615.  
  616. ›0m›1mDESELECT ALL›0m
  617.  
  618. Deselects all objects.
  619.  
  620. ›0m›1mSELECT NEXT›0m
  621.  
  622. Selects the next object.
  623.  
  624. ›0m›1mSELECT PREVIOUS›0m
  625.  
  626. Selects the previous object.
  627.  
  628. ›0m›1mMODE›0m
  629.  
  630. Sets the edit mode:
  631. Move object
  632. Rotate object
  633. Scale object
  634.  
  635. Move world
  636. Rotate world
  637. Zoom world
  638.  
  639. ›0m›1mACTIVE›0m
  640.  
  641. Sets the active directions:
  642. X, Y, Z.
  643.  
  644. ›0m›1mREDRAW›0m
  645.  
  646. Redraws the work area.
  647.  
  648. ›0m›1mFOCUS›0m
  649.  
  650. Sets the zoom factor so that all selected objects are visible.
  651.  
  652. ›0m›1mZOOM IN›0m
  653.  
  654. Zooms out by factor two.
  655.  
  656. ›0m›1mZOOM OUT›0m
  657.  
  658. Zooms in by factor two.
  659.  
  660. ›0m›1mZOOM FIT›0m
  661.  
  662. Sets the zoom factor so that the whole scene is visible.
  663.  
  664. ›0m›1mVIEW›0m
  665.  
  666. Sets the view mode:
  667. Front, Right, Top, Perspective, Four, Camera.
  668.  
  669. ›0m›1mCAMERA TO VIEWER›0m
  670.  
  671. Moves the camera to the the position of the virtual camera, roatates the
  672. camera and sets the opening angles (horizontal and vertial field of view).
  673.  
  674. ›0m›1mGRID›0m
  675.  
  676. Switches grid on/off.
  677.  
  678. ›0m›1mSNAP TO GRID›0m
  679.  
  680. Switches grid snapping on/off.
  681.  
  682. ›0m›1mGRID SIZE›0m
  683.  
  684. Sets grid size.
  685.  
  686. ›0m›1mSHOW›0m
  687.  
  688.    ›3m Coordinates      ›0m
  689.    ›3m Names            ›0m
  690.    ›3m Brushes          ›0m
  691.    ›3m Textures         ›0m
  692.  
  693. ›0m›1mSHOW COORDINATES›0m
  694.  
  695. Switches coordinate display on/off.
  696.  
  697. ›0m›1mSHOW NAMES›0m
  698.  
  699. Sets the show names mode on/off.
  700.  
  701. ›0m›1mSHOW BRUSHES›0m
  702.  
  703. Sets the show brushes mode on/off.
  704.  
  705. ›0m›1mSHOW TEXTURES›0m
  706.  
  707. Sets the show textures mode on/off.
  708.  
  709. ›0m›1mGlobal›0m
  710.  
  711. Opens the ›3mglobal settings requester›0m. Here you can change the global scene
  712. settings.
  713.  
  714. The 'Background' colorfield sets the color of the background of the rendered
  715. picture.
  716.  
  717. With the 'Backdrop' string gadget you can enter a picture which will replace
  718. the background.
  719.  
  720. The 'Reflectionmap' string gadget sets the name of a picture which will be
  721. reflected by objects instead of the background. The reflectionmap is even
  722. applied in quick mode.
  723.  
  724. The 'Ambient' colorfield sets color of the ambient light which is the base
  725. brightness of all objects. In other words: surfaces which are not illuminated
  726. by a light source get the ambient color.
  727.  
  728. The next group of gadgets set the ›3mantialiasing›0m parameters. The
  729. antialiasing value ranges from 1 (no antialiasing) to 8 (very high
  730. antialiasing). This value is the squareroot of rays per pixel. Filter width
  731. sets the maximum distance from the main ray to the additional generated rays
  732. in pixels. The 'Contrast' colorfield sets the minimum contrast. If the contrast
  733. of the main pixel against its four neighbours is higher than this color,
  734. RayStorm performs antialiasing at this pixel.
  735.  
  736. The global fog parameters are controlled with the gadgets of the next group.
  737. 'Length' sets the thickness of the fog. The 'Color' colorfield determines the
  738. color of the fog. 'Height' sets the height at which the fog ends. Global fog
  739. always starts at negative infinity in y direction and and at the specified y
  740. position. For more informations about fog click ›3mhere›0m.
  741.  
  742. The 'Motionblur level' slider is not activated in this version of Scenario,
  743. because motionblur needs animated objects.
  744.  
  745. The 'Softshadow level' slider sets the squareroot of the amount of additional
  746. casted rays for softshadow. Soft shadows are caused from light sources with
  747. a size bigger than 0.
  748.  
  749. The 'Random jitter' flag switches between normal and random sampling. With
  750. random sampling the sampling position is calculated randomly.
  751.  
  752. ›0m›1mATTRIBUTES›0m
  753.  
  754. Opens the attribute requester for the currently selected object, if no object
  755. is selected no requester is opened.
  756. Here you can set the parameters which determine the apperance of the surface.
  757. The requester is divided into three groups:
  758. - ›3mSurface›0m
  759.   At this page you can set the base apperance of the surface.
  760.   - Diffuse
  761.     The diffuse reflection falls off as the cosine of the angle between
  762.     the normal and the ray to the light. Diffuse reflection determines
  763.     the main color of the object.
  764.   - Ambient
  765.     This determines the color of the object in sections which are in
  766.     shadow.
  767.   - Specular
  768.     Specularly reflected highlights fall off as the cosine of the angle
  769.     between the reflected ray and the ray to the light source.
  770.   - Diffuse Transmission
  771.     Same as diffuse reflection, but only used if the lightsource is on
  772.     opposite side of surface. Only applied if tranlucency is not 0.
  773.   - Transparence
  774.     Transparent color.
  775.   - Specular Transmission
  776.     Same as specular reflection, but only used if the lightsource is on
  777.     opposite side of surface. Only applied if tranlucency is not 0.
  778.   - Reflectivity
  779.     Reflective color.
  780.   - Translucency
  781.     Specular transmittance.
  782.   - Reflection exponent
  783.     Determines the size of the specularly reflected highlights, the higher
  784.     the smaller the highlight.
  785.   - Index of refraction
  786.     Determines how the ray through transparent objects is refracted, the
  787.     higher the more.
  788.   - Transmission exponent
  789.     Same as specular reflection exponent, but only used if the lightsource
  790.     is on opposite side of surface.
  791.   - Fog length
  792.   - Bright
  793.     The brightness of the surface is everywhere the same. Light sources don't
  794.     affect the surface, no shadows are visible on the surface, but the object
  795.     casts shadows.
  796. - ›3mBrush›0m
  797.   Brushes are pictures which are projected to the surface. They can replace
  798.   different surface parameters as color, transparency, reflectivity and
  799.   specularity. Additional with altitude mapping brushes can change the normals
  800.   of the surface to simulate bumps or other structures which go 'in' or come
  801.   'out' of the surface.
  802.   There are three wrap methods available:
  803.   - flat (Flat)
  804.     The brush is projected to X-Y plane.
  805.   - cylindrical around x- or y-axis (WrapX and WrapY)
  806.     The brush is wrapped around the x or y-axis, like on a cylinder. The left
  807.     edge of the brush begins at the posititve x-axis and wraps the brush around
  808.     the cylinder from 'west' to 'east'.
  809.   - spherical (WrapXY)
  810.     Wrapping both: around x- and y-axis. It is assumed, that the object is a
  811.     sphere. The y-axis is the north/south pole of the spherical mapping. The
  812.     left edge of the brush begins at the positive x-axis and wraps the brush
  813.     around the sphere from 'west' to 'east'. The brush covers the sphere
  814.     exactly once.
  815.   Additional brushes can be repeated and mirrored (only for flat or cylindrical
  816.   mapping). If 'Soft' is selected, the color between two points of the brush is
  817.   softly interpolated.
  818. - ›3mTexture›0m
  819.   Textures are mathematical generated patterns. Textures can change color,
  820.   reflectivity, transparency and normals of a surface. Textures are controlled
  821.   with a set of 16 parameters.
  822.  
  823. ›0m›1mPreview›0m
  824.   Renders a preview of the surface on a sphere (only for KS 3.0 and better).
  825.   The light source is always placed right top before the sphere.
  826.   All surface attributes can be viewed here except brushes and fog.
  827.   If reflectivity is set the RayStorm logo is reflected on the surface.
  828. ›0m›1mSave›0m
  829.   Saves the surface data.
  830. ›0m›1mLoad›0m
  831.   Loads surface data.
  832.  
  833. ›0m›1mSettings›0m
  834.  
  835. Opens the ›3msettings requester›0m for the currently selected object.
  836. On the first page you can set the name, position, alignment and size of an object.
  837.  
  838. With the second page you can change object settings. The contents of
  839. this page depends on the object type.
  840.   ›3mCamera   ›0m
  841.   ›3mPointight›0m
  842.   ›3mSpotLight›0m
  843.   ›3mMesh     ›0m
  844.  
  845. ›0m›1mCAMERA SETTINGS›0m
  846.  
  847. With the ›3mcamera settings requester›0m you can set various paramaters, which
  848. influence the camera.
  849.  
  850. With ›0m›3mTrack›0m yue can set the name of an object the camera will track to.
  851. This means that the camera will always point to the axis of the track object.
  852.  
  853. ›0m›3mFocal distance›0m and ›0m›3mAperture›0m set the parameters for
  854. ›3mDepth of Field›0m. If you select ›0m›3mFocus Track›0m and the camera tracks
  855. to an object the focal distance of the camera is automatically set to the
  856. distance between camera and track.
  857.  
  858. With the values of ›0m›3mHorizontal›0m and ›0m›3mVertical›0m field of view you
  859. can set the opening angle of the camera lens. If you activate the button
  860. ›0m›3mTake VFOV from resolution›0m Scenario calculates the vertical field of
  861. view (VFOV) from the resolution and the horizontal field of view (HFOV). An
  862. Example will demonstrate this. You selected a HFOV of 30 degree and a
  863. resolution of 800x600 pixels. This means that the VFOV is
  864.   600 / 800 * 30 = 22.5 degree.
  865.  
  866. ›0m›1mLIGHT SETTINGS›0m
  867.  
  868. With the ›3mlight settings requester›0m you can set various paramaters which
  869. influence the light.
  870.  
  871. ›0m›3mColor›0m sets the color of the light source.
  872.  
  873. ›0m›3mFalloff›0m is the distance where the intensity of the light source is
  874. zero. A value of zero disables it.
  875.  
  876. ›0m›3mCast shadows›0m enables the light source to cast shadows.
  877.  
  878. ›0m›3mLens flares›0m enables the ›3mlens flare settings›0m.
  879.  
  880. ›0m›3mVisible light›0m enables the ›3mvisible light settings›0m.
  881.  
  882. ›0m›1mLIGHT SETTINGS›0m
  883.  
  884. With the ›3mlight settings requester›0m you can set various paramaters which
  885. influence the light.
  886.  
  887. With ›0m›3mTrack›0m you can set the object a spotlight points to. See
  888. ›3mcamera settings›0m for a more detailed explanation of
  889. tracking.
  890.  
  891. ›0m›3mColor›0m sets the color of the light source.
  892.  
  893. ›0m›3mFalloff›0m is the distance where the intensity of the light source is
  894. zero. A value of zero disables it.
  895.  
  896. ›0m›3mOpening angle›0m sets the opening angle of a spotlightsource in degree.
  897.  
  898. ›0m›3mCast shadows›0m enables the light source to cast shadows.
  899.  
  900. ›0m›3mLens flares›0m enables the ›3mlens flare settings›0m.
  901.  
  902. ›0m›3mVisible light›0m enables the ›3mvisible light settings›0m.
  903.  
  904. ›0m›1mLENS FLARES›0m
  905.  
  906. With the ›3mlens flare settings›0m you can create and change lens flares.
  907.  
  908. Lens flares only appear when the light source is visible. They appear on an
  909. axis which runs from the center of the light source through the center of the
  910. screen. The position of the flare is relative to the light source it belongs
  911. to. If the position value is zero, the flare appears at the position of the
  912. light source. Higher values of pos move it towards the center of the screen.
  913. Here a some example values and their meaning:
  914.  
  915.    0 : flare has the same position as the light source
  916.  100 : flare is in the middle of the screen
  917.  200 : flare is on opposite side of the light source
  918.  
  919. You can also set pos to negative values, so the flare will appear behind the
  920. light source.
  921.  
  922. The radius of the flare is relative to the horizontal render resolution.
  923. For example: A flare with radius of 20 % renderd with a resolution of 320x200
  924. will have a radius of 0.2*320 = 64 pixels.
  925.  
  926. ›0m›1mType›0m can be one of the following identifiers:
  927.  
  928. Disc
  929.   A flare which looks like a disc
  930. Polygon
  931.   A flare which looks like a polygon. The number of edges can be set with
  932.   edges.
  933.  
  934. ›0m›1mFunction›0m can be one of the following identifiers:
  935.  
  936. Plain
  937.   the color of the flare is uniform
  938. Ring
  939.   the flare looks like a ring
  940. Radial
  941.   varies the color of the flare radial around the flare center
  942.  
  943. ›0m›1mVISIBLE LIGHT›0m
  944.  
  945. With the ›3mvisible light settings›0m you can change the appearance of the
  946. light source.
  947.  
  948. In reality, a light source looks like a star with several spikes getting out
  949. of the center of the light source. Usually there's a halo around it too.
  950.  
  951. The radius (length of the longest spike) of the star is relative to the
  952. horizontal render resolution (see ›3mLens Flares›0m).
  953.  
  954. The radius of the halo is relative to the radius of the star itself. A value
  955. of 100 % means, that the halo has the same radius as the star.
  956.  
  957. The range value determines the difference between the longest and the shortes
  958. spike of the star. A value of 0 % means that all spikes have the same length,
  959. whereas 100 % means that the shortest spike has zero length.
  960.  
  961. ›0m›1mHow are the spikes computed ?›0m
  962. The four spikes in the main directions (0, 90, 180, 270 degrees) always have
  963. maximum length. Spikes between them (45, 135, ... degrees for example) are
  964. shorter and again spikes between them are shorter and so on.
  965.  
  966. If you enable random, the length of the spikes is randomly changed.
  967.  
  968. ›0m›1mMESH SETTINGS›0m
  969.  
  970. With the ›3mmesh settings requester›0m you only can change external objects, the
  971. values are disabled for normal mesh objects.
  972.  
  973. ›0m›3mObject filename›0m sets the the name of the external object which is
  974. attached with the mesh object.
  975.  
  976. If ›0m›3mApply surface to chils›0m is activated the surface of the mesh
  977. object is applied to the surface of the attached external object.
  978.  
  979. ›0m›1mGROUP›0m
  980.  
  981. Groups the selected objects.
  982.  
  983. ›0m›1mUNGROUP›0m
  984.  
  985. Ungroups the selected objects.
  986.  
  987. ›0m›1mLOAD›0m
  988.  
  989. Loads an external object. Currently Imagine,3DS and RAW objects are supported.
  990. Scenario generates an axis and adds the object as childs of it. It's currently
  991. impossible to change the position, alignment or size of this child objects
  992. directly, nevertheless changing of the parent axis also affects it's childs.
  993.  
  994. After loading the name of the object file can be changed with the ›3mmesh settings›0m
  995. requester.
  996.  
  997. ›0m›1mSAVE›0m
  998.  
  999. Saves an object and it's childs in RayStorm object file format. You can only
  1000. save objects from the root level of the object tree. This means you cannot
  1001. save child objects. You also cannot save external objects.
  1002.  
  1003. ›0m›1mCREATE›0m
  1004.  
  1005.    ›3m Sphere           ›0m
  1006.    ›3m Plane            ›0m
  1007.    ›3m Pointlight       ›0m
  1008.    ›3m Spotlight        ›0m
  1009.    ›3m Camera           ›0m
  1010.  
  1011. ›0m›1mSPHERE›0m
  1012.  
  1013. Creates a new sphere at position <0,0,0> with radius 1.
  1014.  
  1015. ›0m›1mPLANE›0m
  1016.  
  1017. Creates a new plane at position <0,0,0> with the normal pointing in positive
  1018. y direction.
  1019.  
  1020. ›0m›1mPOINTLIGHT›0m
  1021.  
  1022. Creates a new point light source at position <0,0,0>.
  1023.  
  1024. ›0m›1mSPOTLIGHT›0m
  1025.  
  1026. Creates a new spot light source at position <0,0,0> with a opening angle of
  1027. 45 degree pointing in negative y direction.
  1028.  
  1029. ›0m›1mCAMREA›0m
  1030.  
  1031. Creates a new pinhole camera at position <0,0,0> with a horizontal and
  1032. vertical field of view of 25 degree witch is pointing in positive z
  1033. direction.
  1034.  
  1035. ›0m›1mMESH›0m
  1036.  
  1037.    ›3m Axis             ›0m
  1038.    ›3m Cube             ›0m
  1039.    ›3m Sphere           ›0m
  1040.    ›3m Plane            ›0m
  1041.    ›3m Tube             ›0m
  1042.    ›3m Cone             ›0m
  1043.    ›3m Torus            ›0m
  1044.  
  1045. ›0m›1mAXIS›0m
  1046.  
  1047. Creates a new axis at position <0,0,0> with size <1,1,1>. An axis can be used
  1048. to track a camera or a spot lightsource on it.
  1049.  
  1050. ›0m›1mCUBE›0m
  1051.  
  1052. Creates a cube at position <0,0,0>. You can set the size of the cube with a
  1053. requester.
  1054.  
  1055. ›0m›1mSPHERE›0m
  1056.  
  1057. Creates a spere at position <0,0,0>. You can set the size, the divisions and
  1058. the slices with a requester.
  1059.  
  1060. ›0m›1mPlane›0m
  1061.  
  1062. Creates a plane at position <0,0,0> with normal pointing in positive y-
  1063. direction. You can set the divisions with a requester.
  1064.  
  1065. ›0m›1mTUBE›0m
  1066.  
  1067. Creates a tube at position <0,0,0>. You can set the size, the height, the
  1068. divisions, the slices and if it's a closed tube with a requester.
  1069.  
  1070. ›0m›1mCONE›0m
  1071.  
  1072. Creates a cone at position <0,0,0>. You can set the size, height, divisions,
  1073. slices, and if the cone is closen with a requester.
  1074.  
  1075. ›0m›1mTORUS›0m
  1076.  
  1077. Creates a torus at position <0,0,0>. You can set the inner and outer size, the
  1078. division and slices with a requester.
  1079.  
  1080. ›0m›1mACTIVE CAMERA›0m
  1081.  
  1082. You can select the active camera.
  1083.  
  1084. ›0m›1mBROWSE›0m
  1085.  
  1086. Opens the object browser. There are two different selectable behaviours:
  1087. - Normal
  1088.   View by selecting an entry and pressing the view button.
  1089.   Select object with double click.
  1090. - Alternative
  1091.   View by selecting any entry.
  1092.   Select object with double click.
  1093. The behaviour is selectable in the ›3mpreferences requester›0m.
  1094.  
  1095. ›0m›1mPREFS›0m
  1096.  
  1097. Opens the preferences requester.
  1098.  
  1099. The ›3m'Paths'-page›0m let you set various paths.
  1100.  
  1101. ›0m›1mViewer›0m
  1102.    Sets the path and name of the viewer. This viewer is used to display the
  1103.    images generated by RayStorm. The filename of the image is appended to the
  1104.    end of the string. You have specify the whole path, for example not
  1105.    'multiview' but 'sys:utilities/multiview'.
  1106. ›0m›1mProject path›0m
  1107.    Sets the default path for projects
  1108. ›0m›1mObject path›0m
  1109.    Sets the default path for objects.
  1110. ›0m›1mTexture path›0m
  1111.    Sets the default path for textures.
  1112. ›0m›1mBrush path›0m
  1113.    Sets the default path for brushes.
  1114.  
  1115. The ›3m'Flags'-page›0m let you set various flags.
  1116.  
  1117. ›0m›1mAlternative browser mode›0m
  1118.    See ›3mBrowse›0m.
  1119. ›0m›1mAlways show coordinates›0m
  1120.    The 3d coordinates of the mouse pointer are displayed for front, right and
  1121.    top. If a object is transformed, the relative coordinates, rotation angles
  1122.    or scale fctors are displayed
  1123.  
  1124. ›0m›1mMUI›0m
  1125.  
  1126. Opens the MUI preferences.
  1127.  
  1128. ›0m›1mLOAD›0m
  1129.  
  1130. Loads the preferences from a file called 'scenario.prefs'.
  1131.  
  1132. ›0m›1mSAVE›0m
  1133.  
  1134. Saves the preferences to a file called 'scenario.prefs'.
  1135.  
  1136. ›0m›1mBUTTONS›0m
  1137.  
  1138. The first six buttons are for selecting the view (front, right, top,
  1139. perspective, quad and camera view).
  1140.  
  1141. The following three buttons select the display type. (bounding box,
  1142. wireframe and solid display).
  1143.  
  1144. After this are six buttons to select the edit mode (move, rotate, scale object
  1145. and move, rotate, scale world).
  1146.  
  1147. The next three buttons enable the X, Y and Z-axis.
  1148.  
  1149. ›0m›1mOBJECT MENUS›0m
  1150.  
  1151. Sceneario supports object oriented menus. These menus are shown when you click
  1152. the right mouse button inside the work area and hold it. Scenario then pops
  1153. up a menu. The contents of this menu depends on the object which is found at
  1154. this position.
  1155.  
  1156. ›0m›1mWorld menu›0m
  1157.  
  1158. The world menu is shown if you click on a place where no object is placed.
  1159. The menu contents follwing points:
  1160.  
  1161. Move:       switch to move world
  1162. Rotate:     switch to rotate (the virtual camera is rotated around the view
  1163.             point (only perspective mode))
  1164. Zoom:       zoom in or out
  1165. Settings:   opens the general settings requester
  1166.  
  1167. ›0m›1mObject menu›0m
  1168.  
  1169. The object menu pops up if you click on the handle of the object.
  1170. The menu contents follwing points:
  1171.  
  1172. Move:       switch to mode move object
  1173. Rotate:     switch to rotate object (the object is rotated around it's local
  1174.             axis)
  1175. Scale:      switch to scale object
  1176. Settings:   opens the ›3msettings›0m requester
  1177. Attributes: opens the surface ›3mattributes›0m
  1178.             requester
  1179.  
  1180. ›0m›1mCamera menu›0m
  1181.  
  1182. The camera menu pops up if you click on the handle of a camera
  1183. The menu contents follwing points:
  1184.  
  1185. Move, Rotate, Scale, Settings: see object menu
  1186. Settings:   opens the ›3mcamera settings›0m requester
  1187. Active:     sets this camera as the active camera (the scene is viewed with
  1188.             this camera)
  1189.  
  1190. ›0m›1mLight menu›0m
  1191.  
  1192. Opens the light popup menu.
  1193. The menu contents follwing points:
  1194.  
  1195. Move, Rotate, Scale, Settings: see object menu
  1196. Settings:   opens the ›3mlight source settings›0m requester
  1197.  
  1198. ›0m›1mMesh menu›0m
  1199.  
  1200. Opens the mesh popup menu.
  1201. The menu contents follwing points:
  1202.  
  1203. Move, Rotate, Scale, Settings: see object menu
  1204. Settings:   opens the ›3mMesh settings›0m requester
  1205. Attributes: see object menu
  1206. To scene:   convert external to scene objects
  1207.  
  1208. ›0m›1mKEYBOARD CONTROL›0m
  1209.  
  1210. ESC          break redraw
  1211. cursor keys  Function depends on the curren edit mode (move, rotate, scale of
  1212.              world or object).
  1213. '+'          zooms in
  1214. '-'          zooms out
  1215. 'm'          switches to move object action
  1216. 'r'          switches to rotate object action
  1217. 's'          switches to scale object action
  1218. 'M'          switches to move world action
  1219. 'R'          switches to rotate world action
  1220. 'S'          switches to scale world action
  1221. 't'          opens settings requester
  1222. '1'          switches to front view
  1223. '2'          switches to right view
  1224. '3'          switches to top view
  1225. '4'          switches to perspective view
  1226. '5'          switches to quad view
  1227. '6'          switches to camera view
  1228. 'x'          enable x axis
  1229. 'y'          enable y axis
  1230. 'z'          enable z axis
  1231.  
  1232. 'F1'         render settings
  1233.  
  1234. 'R-Amiga' - '.'    Center view
  1235.  
  1236. ›0m›1mTIPS & TRICKS›0m
  1237.  
  1238. ›0m›1mGeneral›0m
  1239. - RayStorm renders faster if you don't use planes, because intersections
  1240.   with planes cannot be calculated with the octree (helpfull in scenes with
  1241.   motion blur or soft shadows).
  1242.  
  1243. ›0m›1mScenario›0m
  1244.  
  1245. - ›0m›1mI have problems with the screen refresh, the scene is only refreshed
  1246.   behind the requester!›0m
  1247.   Open the ›3mMUI-settings›0m requester and select from the window
  1248.   part for "Refresh" the "Smart"-mode.
  1249. - ›0m›1mHow can I change the texture and brush names without removing and adding
  1250.   them again?›0m
  1251.   Select ›3mView->Show->Show Textures›0m or ›3mView->Show->Show Brushes›0m
  1252.   and select the texture or brush. Now open the ›3msettings-requester›0m and change
  1253.   the name of the brush or texture.
  1254. - ›0m›1mHow can I change the name of an Imagine/3DS/RAW-object without deleting
  1255.   and reloding it?›0m
  1256.   Select ›3mSettings›0m from the object menu of the parent axis. Here you
  1257.   can change the name of the object.
  1258. - ›0m›1mHow can I load my old Imagine attribute files to use it for RayStorm
  1259.   objects?›0m
  1260.   Load the attributes file with ›3mload object›0m. You will get an axis
  1261.   named 'Mesh' with another axis attached to it. The surface of this axis is set
  1262.   to the attributes of the file. Click with the right mouse button to the parent
  1263.   axis and select ›3mTo scene›0m. The parent axis is no deleted
  1264.   and can now open the attributes requester for the child axis. Select save from
  1265.   the ›3mattributes requester›0m and save the surface as a RayStorm material file.
  1266.  
  1267. ›0m›1mRayStorm Script›0m
  1268. - The commands '›3mTEXTUREPATH›0m', '›3mOBJECTPATH›0m' and '›3mBRUSHPATH›0m' are relative
  1269.   to the directory RayStorm is started from.
  1270. - If RayStorm crashes with scenes with reflections and transparence, try
  1271.   to start RayStorm with a larger stack (e.g. 8192 Bytes).
  1272.  
  1273. ›0m›1mAREXX INTERFACE›0m
  1274.  
  1275.    ›3mIntroduction›0m
  1276.    ›3mAddress     ›0m
  1277.    ›3mParameters  ›0m
  1278.    ›3mCommands    ›0m
  1279.    ›3mErrors      ›0m
  1280.  
  1281. ›0m›1mAREXX INTRODUCTION›0m
  1282.  
  1283. RayStorm is completly controled through it's ARexx interface. We recommend
  1284. that you have a look at the ›3mtuturials›0m and the ›3mexample›0m
  1285. script files in the 'ARexx' directory.
  1286. These examples cover most of the features of RayStorm. Further encourage you
  1287. to create your own files and make them available for the public. You can send
  1288. them to us and we might add them as an example files in the next version of
  1289. RayStorm or we include them to our ›3mHomepage›0m.
  1290. In one of the next versions of RayStorm we'll create a more powerful
  1291. language, which has a similar syntax to C++.
  1292.  
  1293. It's the same if you write the the commands in upper case or lower case.
  1294. But it's important to enclose all commans in quotes because ARexx tries
  1295. to interpret the line before it sends it to ARexx. It may happen that the
  1296. line is changed and RayStorm don't do this what you want.
  1297.  
  1298. A typical structure of a scene file is:
  1299.  
  1300. /* title, comments, ... */
  1301.  
  1302. /* setting resolution, world, camera, lightsources */
  1303. 'SETSCREEN 160 128'
  1304. 'SETWORLD [0,0,0] [40,40,40]'
  1305. 'SETCAMERA <0,0,80> <0,0,0> <0,1,0> 25 20'
  1306. 'POINTLIGHT <10,-10,100> [255,255,255] SHADOW'
  1307.  
  1308. /* define surfaces and actors */
  1309. 'NEWSURFACE TEST1'
  1310. 'AMBIENT [255,0,0]'
  1311. 'DIFFUSE [255,0,0]'
  1312. 'SPECULAR [255,255,255]'
  1313.  
  1314. 'NEWSURFACE TEST2'
  1315. 'AMBIENT [0,0,255]'
  1316.  
  1317. /* creating objects */
  1318. 'SPHERE TEST1 <0,0,0> 10'
  1319. 'SPHERE TEST2 <0,0,0> 10'
  1320.  
  1321. /* finally start to render the scene */
  1322. 'STARTRENDER'
  1323.  
  1324. /* save the image */
  1325. 'SAVEPIC "test.iff"'
  1326.  
  1327. 'CLEANUP'
  1328.  
  1329. ›0m›1mADDRESS›0m
  1330.  
  1331. The ARexx-address of RayStorm is 'RAYSTORM'.
  1332.  
  1333. ›0m›1mAREXX PARAMETERS›0m
  1334.  
  1335. The parameters of a command can be FLOATs, INTEGERs, VECTORs, COLORs,
  1336. STRINGs, and IDENTIFIERs.
  1337.  
  1338. FLOAT     An FLOAT is a floating point number with single precision
  1339.  
  1340. NUMBER    A NUMBER is a simple integer number
  1341.  
  1342. VECTOR    A VECTOR is embedded in '<' '>' and consists of three FLOATs
  1343.  
  1344. COLOR     A COLOR is embedded in '[' ']' and consists of three INTEGERs
  1345.           which range normally from 0 to 255, but you can also set negative
  1346.           values or values above of 255.
  1347.  
  1348. STRING    A STRING consists of characters
  1349.  
  1350. KEYWORD   An KEYWORD is a switch and consists of uppercase characters
  1351.  
  1352. ›0m›1mPARAMETER CONVENTIONS›0m
  1353.   /S - Switch.
  1354.   /N - Number.
  1355.   /A - Required.
  1356.  
  1357.   All other numeric parameters are floating point numbers.
  1358.  
  1359. ›0m›1mAREXX COMMANDS›0m
  1360.  
  1361.    ›3m General         ›0m
  1362.    ›3m Objects         ›0m
  1363.    ›3m Attributes      ›0m
  1364.    ›3m Animation       ›0m
  1365.  
  1366. ›0m›1mAlphabetically sorted›0m
  1367.  
  1368. ›0m›1m-A-›0m
  1369.   ›3mALIGNMENT  ›0m
  1370.   ›3mAMBIENT    ›0m
  1371.   ›3mANTIALIAS  ›0m
  1372. ›0m›1m-B-›0m
  1373.   ›3mBRUSH      ›0m
  1374.   ›3mBRUSHPATH  ›0m
  1375. ›0m›1m-C-›0m
  1376.   ›3mCLEANUP    ›0m
  1377. ›0m›1m-D-›0m
  1378.   ›3mDIFFTRANS  ›0m
  1379.   ›3mDIFFUSE    ›0m
  1380.   ›3mDISPLAY    ›0m
  1381.   ›3mDISTRIB    ›0m
  1382. ›0m›1m-F-›0m
  1383.   ›3mFLARE      ›0m
  1384.   ›3mFOGLEN     ›0m
  1385. ›0m›1m-G-›0m
  1386.   ›3mGETERRORSTR›0m
  1387. ›0m›1m-I-›0m
  1388.   ›3mIMTEXTURE  ›0m
  1389. ›0m›1m-L-›0m
  1390.   ›3mLOADOBJ    ›0m
  1391. ›0m›1m-N-›0m
  1392.   ›3mNEWSURFACE ›0m
  1393. ›0m›1m-O-›0m
  1394.   ›3mOBJECTPATH ›0m
  1395. ›0m›1m-P-›0m
  1396.   ›3mPLANE      ›0m
  1397.   ›3mPOINTLIGHT ›0m
  1398.   ›3mPOSITION   ›0m
  1399. ›0m›1m-Q-›0m
  1400.   ›3mQUIT       ›0m
  1401. ›0m›1m-R-›0m
  1402.   ›3mREFEXP     ›0m
  1403.   ›3mREFLECT    ›0m
  1404.   ›3mREFRINDEX  ›0m
  1405. ›0m›1m-S-›0m
  1406.   ›3mSAVEPIC    ›0m
  1407.   ›3mSETCAMERA  ›0m
  1408.   ›3mSETSCREEN  ›0m
  1409.   ›3mSETWORLD   ›0m
  1410.   ›3mSIZE       ›0m
  1411.   ›3mSPECTRANS  ›0m
  1412.   ›3mSPECULAR   ›0m
  1413.   ›3mSPHERE     ›0m
  1414.   ›3mSPOTLIGHT  ›0m
  1415.   ›3mSTAR       ›0m
  1416.   ›3mSTARTRENDER›0m
  1417. ›0m›1m-T-›0m
  1418.   ›3mTEXTUREPATH›0m
  1419.   ›3mTRANSEXP   ›0m
  1420.   ›3mTRANSLUC   ›0m
  1421.   ›3mTRANSPAR   ›0m
  1422.   ›3mTRIANGLE   ›0m
  1423. ›0m›1m-W-›0m
  1424.   ›3mWINTOFRONT ›0m
  1425.  
  1426. ›0m›1mGENERAL AREXX-COMMANDS›0m
  1427.  
  1428. ›3mANTIALIAS  ›0m  sets antialiasing parameters
  1429. ›3mBRUSHPATH  ›0m  sets brush path
  1430. ›3mCLEANUP    ›0m  cleanups scene
  1431. ›3mDISPLAY    ›0m  displays scene
  1432. ›3mDISTRIB    ›0m  sets parameters for distributive sampling
  1433. ›3mFLARE      ›0m  add a flare to a lightsource
  1434. ›3mGETERRORSTR›0m  gets a error string for a given number
  1435. ›3mOBJECTPATH ›0m  sets object path
  1436. ›3mPOINTLIGHT ›0m  creates point lightsource
  1437. ›3mQUIT       ›0m  quits RayStorm
  1438. ›3mSAVEPIC    ›0m  saves rendered picture
  1439. ›3mSETCAMERA  ›0m  sets camera parameters
  1440. ›3mSETSCREEN  ›0m  sets screen parameters
  1441. ›3mSETWORLD   ›0m  sets world parameters
  1442. ›3mSPOTLIGHT  ›0m  creates spot lightsource
  1443. ›3mSTAR       ›0m  add a light star to a lightsource
  1444. ›3mSTARTRENDER›0m  starts rendering
  1445. ›3mTEXTUREPATH›0m  sets texture path
  1446. ›3mWINTOFRONT ›0m  brings window to front
  1447.  
  1448. ›0m›1mANTIALIAS›0m
  1449.  
  1450. ›0m›1mTemplate:›0m
  1451.  SAMPLES/N/A,WIDTH,CONTRIB
  1452. ›0m›1mArguments:›0m
  1453.  NUMBER SAMPLES
  1454.    squareroot of number of samples per pixel (max. 8)
  1455.  FLOAT WIDTH
  1456.    width of gaussian filter. The range is infinite but values between 1 and
  1457.    3 are recommended.
  1458.  COLOR CONTRIB
  1459.    max. allowed contrast
  1460. ›0m›1mDescription:›0m
  1461.  Sets antialiasing parameters (see ›3mAntialiasing›0m)
  1462. ›0m›1mDefault:›0m
  1463.  ANTIALIAS 1 1.3 [51,38,76]
  1464.  
  1465. ›0m›1mBRUSHPATH›0m
  1466.  
  1467. ›0m›1mTemplate:›0m
  1468.  PATH/A
  1469. ›0m›1mArguments:›0m
  1470.  STRING PATH
  1471.    pathname
  1472. ›0m›1mDescription:›0m
  1473.  Defines the path where to search brushes. More than one path may be included
  1474.  as long as they are separated by semi-colons.
  1475. ›0m›1mExample:›0m
  1476.  BRUSHPATH 'path1;path2'
  1477.  
  1478. ›0m›1mCLEANUP›0m
  1479.  
  1480. ›0m›1mTemplate:›0m
  1481.  none
  1482. ›0m›1mArguments:›0m
  1483.  none
  1484. ›0m›1mDescription:›0m
  1485.  Deletes all defined objects, lightsources, surfaces and actors
  1486.  
  1487. ›0m›1mDISPLAY›0m
  1488.  
  1489. ›0m›1m!!! CAUTION !!!
  1490. THIS COMMAND ISN'T RELEASED IN THIS VERSION YET
  1491. !!! CAUTION !!!›0m
  1492.  
  1493. ›0m›1mTemplate:›0m
  1494.  FLOYD/S
  1495. ›0m›1mArguments:›0m
  1496.  KEYWORD FLOYD/S
  1497.    dither with Floyd-Steinberg algorithm
  1498. ›0m›1mDescription:›0m
  1499.  Displays rendered pic on screen
  1500.  
  1501. ›0m›1mDISTRIB›0m
  1502.  
  1503. ›0m›1mTemplate:›0m
  1504.  SAMPLES/N,SOFTSHADOW/N
  1505. ›0m›1mArguments:›0m
  1506.  NUMBER SAMPLES/N
  1507.    squareroot of number of samples per pixel for motionblur
  1508.  NUMBER SOFTSHADOW/N
  1509.    squareroot of number of samples per pixel for softshadows
  1510. ›0m›1mDescription:›0m
  1511.  Sets number of samples per pixel for distributive sampling (used for
  1512.  
  1513. ›0m›1mDefault:›0m
  1514.  DISTRIB 1,1
  1515.  
  1516. ›0m›1mGETERRORSTR›0m
  1517.  
  1518. ›0m›1mTemplate:›0m
  1519.  ERRNUM/N/A
  1520. ›0m›1mArguments:›0m
  1521.  NUMBER ERRNUM
  1522.    error number
  1523. ›0m›1mDescription:›0m
  1524.  Returns the error string for the given error number
  1525.  
  1526. ›0m›1mOBJECTPATH›0m
  1527.  
  1528. ›0m›1mTemplate:›0m
  1529.  PATH/A
  1530. ›0m›1mArguments:›0m
  1531.  PATH
  1532.    pathname
  1533. ›0m›1mDescription:›0m
  1534.  Defines the path where to search objects. More than one path may be included
  1535.  as long as they are separated by semi-colons.
  1536. ›0m›1mExample:›0m
  1537.  OBJECTPATH 'path1;path2'
  1538.  
  1539. ›0m›1mPOINTLIGHT›0m
  1540.  
  1541. ›0m›1mTemplate:›0m
  1542.  POS/A,COLOR,SIZE,SHADOW/S,ACTOR,FALLOFF
  1543. ›0m›1mArguments:›0m
  1544.  VECTOR POS
  1545.    position of pointlight
  1546.  COLOR COLOR
  1547.    color of light
  1548.  VECTOR SIZE
  1549.    size of light source (used for ›3msoft shadows›0m)
  1550.  KEYWORD SHADOW/S
  1551.    lightsource casts shadows
  1552.  STRING ACTOR
  1553.    name of actor
  1554.  FLOAT FALLOFF
  1555.    distance where the brightness of the light is zero
  1556. ›0m›1mDescription:›0m
  1557.  Creates a point lightsource. The lightsource casts shadows, if the keyword SHADOW is given
  1558. ›0m›1mDefault:›0m
  1559.  POINTLIGHT <0,0,0> [255,255,255] 0 ?? ?? 0
  1560.  
  1561. ›0m›1mQUIT›0m
  1562.  
  1563. ›0m›1mTemplate:›0m
  1564.  none
  1565. ›0m›1mArguments:›0m
  1566.  none
  1567. ›0m›1mDescription:›0m
  1568.  Quits Raystrom
  1569.  
  1570. ›0m›1mSAVEPIC›0m
  1571.  
  1572. ›0m›1mTemplate:›0m
  1573.  NAME/A,FORMAT
  1574. ›0m›1mArguments:›0m
  1575.  STRING NAME
  1576.    the picture is saved under that name
  1577.  STRING FORMAT
  1578.    image format (TGA, PNG, ILBM; default ILBM)
  1579. ›0m›1mDescription:›0m
  1580.  Saves rendered picture 24-Bit IFF-ILBM-file, 24 Bit TGA or as PNG file. If
  1581.  an error occures the command returns an error string.
  1582. ›0m›1mExample:›0m
  1583.  SAVEPIC 'path\name with extension'
  1584.  
  1585. ›0m›1mSETCAMERA›0m
  1586.  
  1587. ›0m›1mTemplate:›0m
  1588.  POS/A,VIEWPOINT,VIEWUP,FOVX,FOVY,FOCALDIST,APERTURE,POSACTOR,VIEWACTOR
  1589. ›0m›1mArguments:›0m
  1590.  VECTOR POS
  1591.    position of camera
  1592.  VECTOR VIEWPOINT
  1593.    position to which the camera point to
  1594.  VECTOR VIEWUP
  1595.    view up vector
  1596.  FLOAT FOVX, FOVY
  1597.    field of view (in degree) (20 degree creates camera like Imagine
  1598.    default camera)
  1599.  FLOAT FOCALDIST
  1600.    distance from eye to focal plane
  1601.  FLOAT APERTURE
  1602.    aperture width (0 = pinhole) (-> ›3mdepth of field›0m)
  1603.  STRING POSACTOR
  1604.    name of position actor
  1605.  STRING VIEWACTOR
  1606.    name of look_at_actor
  1607. ›0m›1mDescription:›0m
  1608.  Sets the parameters of the camera
  1609. ›0m›1mDefault:›0m
  1610.  SETCAMERA <0,0,-10> <0,0,0> <0,1,0>  45 45 1. 0.
  1611.  
  1612. ›0m›1mSETSCREEN›0m
  1613.  
  1614. ›0m›1mTemplate:›0m
  1615.  RESX/N/A,RESY/N/A,COLORS/N
  1616. ›0m›1mArguments:›0m
  1617.  NUMBER RESX, RESY
  1618.    resolution
  1619.  NUMBER COLORS
  1620.    number of colors (not yet implemented)
  1621. ›0m›1mDescription:›0m
  1622.  Sets the resolution of the rendered picture. Note that in the demo-version
  1623.  the resolution is limited to 160x128!
  1624. ›0m›1mDefault:›0m
  1625.  SETSCREEN 128 128
  1626.  
  1627. ›0m›1mSETWORLD›0m
  1628.  
  1629. ›0m›1mTemplate:›0m
  1630.  BACK/A,AMBIENT,RANDJIT/S,BACKDROP,FOGLEN,FOGHEIGHT,FOGCOLOR,REFLMAP
  1631. ›0m›1mArguments:›0m
  1632.  COLOR BACK
  1633.    backgroundcolor
  1634.  COLOR AMBIENT
  1635.    ambientcolor
  1636.  KEYWORD RANDJIT
  1637.   use random jitter for ›3mdepth of field›0m and ›3msoft shadows›0m
  1638.  STRING BACKDROP
  1639.    name of backdrop picture
  1640.  FLOAT FOGLEN
  1641.    global fog length
  1642.  FLOAT FOGHEIGHT
  1643.    highest fog y-coordinate
  1644.  COLOR FOGCOLOR
  1645.    fogcolor
  1646.  STRING REFLMAP
  1647.    name of reflection map
  1648. ›0m›1mDescription:›0m
  1649.  Sets world parameters. The backdrop picture is automatically scaled to
  1650.  the screen resolution.
  1651. ›0m›1mDefault:›0m
  1652.  SETWORLD [0,0,0] [0,0,0] ?? 32 0 [255,255,255] ??
  1653.  
  1654. ›0m›1mSPOTLIGHT›0m
  1655.  
  1656. ›0m›1mTemplate:›0m
  1657.  POS/A,COLOR,LOOKPOINT,ANGLE,SIZE,SHADOW/S,ACTOR,LOOKP_ACTOR,FALLOFF
  1658. ›0m›1mArguments:›0m
  1659.  VECTOR POS
  1660.    position of the spotlight
  1661.  COLOR COLOR
  1662.    color of light
  1663.  VECTOR LOOKPOINT
  1664.    point to which the spotlight shines at
  1665.  FLOAT ANGLE
  1666.    opening angel (in degree max. 180)
  1667.  FLOAT SIZE
  1668.    size of light source (used for ›3msoft shadows›0m)
  1669.  KEYWORD SHADOW
  1670.    lightsource cats shadows
  1671.  STRING ACTOR
  1672.    name of position actor
  1673.  STRING LOOKP_ACTOR
  1674.    name of look_at_actor
  1675.  FLOAT FALLOFF
  1676.    distance where the brightness of the light is zero
  1677. ›0m›1mDescription:›0m
  1678.  Creates a spotlight. The rays emitted from a spotlight are constrained
  1679.  by a cone. The LOOKPOINT vector gives the center of the illuminated area.
  1680. ›0m›1mDefault:›0m
  1681.  SPOTLIGHT <0,0,0> [255,255,255] <0,0,1> 45 0 ?? ?? ?? 0
  1682.  
  1683. ›0m›1mFLARE›0m
  1684.  
  1685. ›0m›1mTemplate:›0m
  1686.  POS/A,RADIUS/A,COLOR,TYPE,FUNCTION,EDGES/N,TILT
  1687. ›0m›1mArguments:›0m
  1688.  FLOAT pos
  1689.    position of flare on light axis (in percent)
  1690.  FLOAT radius
  1691.    radius of flare (in percent)
  1692.  COLOR color
  1693.    color of flare
  1694.  KEYWORD type [DISC|POLYGON]
  1695.   type of flare
  1696.  KEYWORD function [PLAIN|RING|RADIAL]
  1697.    look of flare
  1698.  NUMBER edges
  1699.    number of edges of polygonal flare (3 - 8 edges possible)
  1700.  FLOAT tilt
  1701.    tilt angle of flare (only useful when polygonal flare)
  1702. ›0m›1mDescription:›0m
  1703.  A new lens flare is added to the last defined light source. Lens flares only
  1704.  appear when the light source is visible. They appear on an axis which runs
  1705.  from the center of the light source through the center of the screen. The
  1706.  position of the flare is relative to the light source it belongs to. If the
  1707.  position value is zero, the flare appears at the position of the light source.
  1708.  Greater values of pos move it towards the center of the screen. Here a some
  1709.  example values and their meaning:
  1710.  
  1711.    0 : flare has the same position as the light source
  1712.  100 : flare is in the middle of the screen
  1713.  200 : flare is on opposite side of the light source
  1714.  
  1715.  You can also set pos to negative values, so the flare will appear behind the
  1716.  light source.
  1717.  
  1718.  The radius of the flare is relative to the horizontal render resolution.
  1719.  For example: A flare with radius of 20 % renderd with a resolution of 320x200
  1720.  will have a radius of 0.2*320 = 64 pixels.
  1721.  
  1722.  ›0m›1mtype›0m can be one of the following identifiers:
  1723.  
  1724.  DISC
  1725.    A flare which looks like a disc
  1726.  POLYGON
  1727.    A flare which looks like a polygon. The number of edges can be set with
  1728.    edges.
  1729.  
  1730.  ›0m›1mfunction›0m can be one of the following identifiers:
  1731.  
  1732.  PLAIN
  1733.    the color of the flare is uniform
  1734.  RING
  1735.    the flare looks like a ring
  1736.  RADIAL
  1737.    varies the color of the flare radial around the flare center
  1738. ›0m›1mDefault:›0m
  1739.  FLARE 50 10 [50,50,50] DISC PLAIN 5 0
  1740.  
  1741. ›0m›1mSTAR›0m
  1742.  
  1743. ›0m›1mTemplate:›0m
  1744.  SPIKES,RADIUS,HALORADIUS,INNERHALORADIUS,RANGE,RANDOM_SEED/N
  1745. ›0m›1mArguments:›0m
  1746.  NUMBER spikes
  1747.    number of spikes (4 - 256)
  1748.  FLOAT radius
  1749.    radius of star (in percent)
  1750.  FLOAT haloradius
  1751.    radius of star halo (in percent relative to star radius)
  1752.  FLOAT innerhaloradius
  1753.    radius of inner star halo (in percent relative to halo radius)
  1754.  FLOAT range
  1755.    range between shortest and longest spike (in percent)
  1756.  NUMBER random_seed
  1757.    Random seed value (0-32767)
  1758. ›0m›1mDescription:›0m
  1759.  This command makes a light source visible. In reality, a light source looks
  1760.  like a star with several spikes getting out of the center of the light source.
  1761.  Usually there's a halo around it too.
  1762.  
  1763.  The radius (length of the longest spike) of the star is relative to the
  1764.  horizontal render resolution (see ›3mFLARE›0m).
  1765.  
  1766.  The radius of the halo is relative to the radius of the star itself. A value
  1767.  of 100 % means, that the halo has the same radius as the star.
  1768.  
  1769.  The range value determines the difference between the longest and the shortes
  1770.  spike of the star. A value of 0 % means that all spikes have the same length,
  1771.  whereas 100 % means that the shortest spike has zero length.
  1772.  
  1773.  ›0m›1mHow are the spikes computed ?›0m
  1774.  The four spikes in the main directions (0, 90, 180, 270 degrees) always have
  1775.  maximum length. Spikes between them (45, 135, ... degrees for example) are
  1776.  shorter and again spikes between them are shorter and so on.
  1777.  
  1778.  If you specify a value for random_seed, the length of the spikes is randomly
  1779.  changed.
  1780.  
  1781. ›0m›1mDefault:›0m
  1782.  STAR 4 30 20 40 0 0
  1783.  
  1784. ›0m›1mSTARTRENDER›0m
  1785.  
  1786. ›0m›1mTemplate:›0m
  1787.  QUICK/S,DEPTH/N,FROM,TO/N,LEFT/N,TOP/N,RIGHT/N,BOTTOM/N
  1788. ›0m›1mArguments:›0m
  1789.  KEYWORD QUICK
  1790.    render quick (no shadows, reflections and transparency)
  1791.  NUMBER DEPTH
  1792.    depth of generated ›3moctree›0m
  1793.  FLOAT FROM,TO
  1794.    time code (default 0,0). If you want ›3mmotion blur›0m you have to
  1795.    set FROM and TO to different values, else only set FROM.
  1796.  NUMBER LEFT,TOP,RIGHT,BOTTOM
  1797.    coordinates for rendering box. Picture is renderd only inside of
  1798.    rectangle.
  1799. ›0m›1mDescription:›0m
  1800.  Starts rendering process. If you set QUICK shadows, reflections and
  1801.  transparency are not calculated. In very complex scenes it is useful to
  1802.  increase the octree depth in order to reach a better performance during
  1803.  the rendering process. But this can only be done with enough memory!
  1804.  Here are values for the file "chess.ray" renderd with a resolution of
  1805.  160x128 on a A4000 with 25Mhz 68030 and 57MHz 68882:
  1806.  
  1807.  depth  memory [MByte]  init [mm:ss]  cleanup [mm:ss]  render [mm:ss]  total [mm:ss]
  1808.    2          1.38         00:12           00:02           09:24          09:38
  1809.    3          1.13         00:14           00:04           03:58          04:16
  1810.    4          1.55         00:22           00:08           01:50          02:20
  1811.    5          2.35         00:41           00:26           01:15          02:22
  1812.    6          5.70         01:35           02:38           01:06          05:19
  1813.  
  1814. ›0m›1mDefault:›0m
  1815.  STARTRENDER 3 0 0
  1816.  
  1817. ›0m›1mTEXTUREPATH›0m
  1818.  
  1819. ›0m›1mTemplate:›0m
  1820.  PATH/A
  1821. ›0m›1mArguments:›0m
  1822.  PATH
  1823.    pathname (format: 'path1;path2;...;pathn')
  1824. ›0m›1mDescription:›0m
  1825.  Defines the path where to search textures. More than one path may be included
  1826.  as long as they are separated by semi-colons.
  1827. ›0m›1mExample:›0m
  1828.  TEXTUREPATH 'path1;path2'
  1829.  
  1830. ›0m›1mWINTOFRONT›0m
  1831.  
  1832. ›0m›1mTemplate:›0m
  1833.  none
  1834. ›0m›1mArguments:›0m
  1835.  none
  1836. ›0m›1mDescription:›0m
  1837.  Brings RayStorm window in front
  1838.  
  1839. ›0m›1mAREXX-COMMANDS FOR CREATING OBJECTS›0m
  1840.  
  1841. ›3mLOADOBJ ›0m  loads an Imagine TDDD-file
  1842. ›3mPLANE   ›0m  creates a plane (ground in Imagine)
  1843. ›3mSPHERE  ›0m  creates a sphere
  1844. ›3mTRIANGLE›0m  creates a triangle
  1845.  
  1846. ›0m›1mLOADOBJ›0m
  1847.  
  1848. ›0m›1mTemplate:›0m
  1849.  NAME/A,POS,ALIGN,SCALE,ACTOR,SURFACE
  1850. ›0m›1mArguments:›0m
  1851.  STRING NAME
  1852.    filename
  1853.  VECTOR POS
  1854.    position
  1855.  VECTOR ALIGN
  1856.    alignment (in degrees)
  1857.  VECTOR SCALE
  1858.    size factor
  1859.  STRING ACTOR
  1860.    name of actor
  1861.  STRING SURFACE
  1862.     name of surface to replace object surface
  1863. ›0m›1mDescription:›0m
  1864.  Loads an
  1865.   - Imagine TDDD-file
  1866.      loads attributes, triangles (with correct handling of sharp edges),
  1867.      perfect spheres, planes, brushes and textures
  1868.   - Autodesk 3D-Studio file
  1869.      loads attributes, triangles and generates sharp edges
  1870.  If you specify a surface, all surfaces of the object will have that surface
  1871.  (overriding any surfaces defined in the object file).
  1872.  
  1873.  ›0m›1mWhere to get Imagine object files?›0m
  1874.  Look on FTP-servers which support AMINET. For example try out
  1875.   ftp.uni-paderborn.de
  1876.   Path: ftp/aminet/pub/gfx/3dobj/
  1877.  ›0m›1mWhere to get 3D-Studio object files?›0m
  1878.  Try out these WWW-Pages:
  1879.  For Star wars fans: http://www.loop.com/~hhc/
  1880.  Mesh Mart: http://cedar.cic.net/~rtilmann/mm/index.htm
  1881.  Objects Archive: http://sunserver1.rz.uni-duesseldorf.de/~pannozzo/3ds.html
  1882. ›0m›1mDefault:›0m
  1883.  LOADOBJ ??? <0,0,0> <0,0,0> <1,1,1>
  1884.  
  1885. ›0m›1mPLANE›0m
  1886.  
  1887. ›0m›1mTemplate:›0m
  1888.  SURF/A,POS,NORM,ACTOR
  1889. ›0m›1mArguments:›0m
  1890.  STRING SURF
  1891.    name of surface
  1892.  VECTOR POS
  1893.    position
  1894.  VECTOR NORM
  1895.    normal of the plane
  1896.  STRING ACTOR
  1897.    name of actor
  1898. ›0m›1mDescription:›0m
  1899.  Creates an infinite plane.
  1900. ›0m›1mDefault:›0m
  1901.  PLANE ??? <0,0,0> <0,1,0>
  1902.  
  1903. ›0m›1mSPHERE›0m
  1904.  
  1905. ›0m›1mTemplate:›0m
  1906.  SURF/A,POS/A,RADIUS/A,ACTOR
  1907. ›0m›1mArguments:›0m
  1908.  STRING SURF
  1909.    name of surface
  1910.  VECTOR POS
  1911.    center of sphere
  1912.  FLOAT RADIUS
  1913.    radius of sphere
  1914.  STRING ACTOR
  1915.    name of actor
  1916. ›0m›1mDescription:›0m
  1917.  Creates a sphere
  1918. ›0m›1mDefault:›0m
  1919.  SPHERE ?? <0,0,0> 1
  1920.  
  1921. ›0m›1mTRIANGLE›0m
  1922.  
  1923. ›0m›1mTemplate:›0m
  1924.  SURF/A,P1/A,P2/A,P3/A,N1,N2,N3,ACTOR
  1925. ›0m›1mArguments:›0m
  1926.  STRING SURF
  1927.    name of surface
  1928.  VECTOR P1
  1929.    first corner
  1930.  VECTOR P2
  1931.    second corner
  1932.  VECTOR P3
  1933.    third corner
  1934.  VECTOR N1
  1935.    normal at first corner
  1936.  VECTOR N2
  1937.    normal at second corner
  1938.  VECTOR N3
  1939.    normal at third corner
  1940.  STRING ACTOR
  1941.    name of actor
  1942. ›0m›1mDescription:›0m
  1943.  Creates a triangle with corners at position P1, P2 and P3. If you specify
  1944.  the normals, a phong shaded triangle otherwise a flat triangle is created.
  1945.  Computing the normals by hand is a difficult task, and should be done by
  1946.  utility programs.
  1947.  
  1948. ›0m›1mAREXX-COMMANDS FOR SETTING ATTRIBUTES›0m
  1949.  
  1950. Every object must have a surface definition. With the following commands
  1951. you can set the attributes of a surface. First you have to define the
  1952. current surface with 'NEWSURFACE <name>'. Raystorm will set the attributes
  1953. of the new surface to default values. Every following command such as
  1954. AMBIENT or DIFFTRANS refers to the current surface and will override
  1955. the corresponding default values.
  1956.  
  1957. The following examples define two surfaces:
  1958.  
  1959. NEWSURFACE RED
  1960. AMBIENT [255,0,0]
  1961. DIFFUSE [255,0,0]
  1962.  
  1963. NEWSURFACE WATER
  1964. DIFFUSE [0,0,255]
  1965. REFRINDEX 1.333
  1966.  
  1967. List of surface commands:
  1968. ›3mNEWSURFACE›0m  creates a new surface
  1969. ›3mAMBIENT   ›0m  sets ambient color
  1970. ›3mBRUSH     ›0m  adds a brush
  1971. ›3mDIFFTRANS ›0m  sets diffuse transmission color
  1972. ›3mDIFFUSE   ›0m  sets diffuse color
  1973. ›3mFOGLEN    ›0m  sets the foglength
  1974. ›3mIMTEXTURE ›0m  adds a Imagine texture
  1975. ›3mREFEXP    ›0m  sets the specular reflection exponent
  1976. ›3mREFLECT   ›0m  sets the specular reflectivity
  1977. ›3mREFRINDEX ›0m  sets the index of refraction
  1978. ›3mSPECTRANS ›0m  sets the specular transmission
  1979. ›3mSPECULAR  ›0m  sets the specular color
  1980. ›3mTRANSEXP  ›0m  sets the specular transmission exponent
  1981. ›3mTRANSLUC  ›0m  sets the specular transmittance
  1982. ›3mTRANSPAR  ›0m  sets the diffuce transmittance
  1983.  
  1984. ›0m›1mAMBIENT›0m
  1985.  
  1986. ›0m›1mTemplate:›0m
  1987.  COLOR/A
  1988. ›0m›1mArguments:›0m
  1989.  STRING COLOR
  1990.    color
  1991. ›0m›1mDescription:›0m
  1992.  Sets the ambient color of surface. Determines the color of the object in
  1993.  sections, which are in shadow.
  1994. ›0m›1mDefault:›0m
  1995.  AMBIENT [255,255,255]
  1996.  
  1997. ›0m›1mBRUSH›0m
  1998.  
  1999. ›0m›1mTemplate:›0m
  2000.  NAME/A,TYPE/A,WRAP/A,POS/A,ALIGN/A,SIZE/A,REPEAT/S,MIRROR/S,SOFT/S,ACTOR
  2001. ›0m›1mArguments:›0m
  2002.  STRING NAME
  2003.    filename of brush
  2004.  KEYWORD TYPE [COLOR|REFLECT|FILTER|ALTITUDE|SPECULAR]
  2005.    type of brush
  2006.  KEYWORD WRAP [FLAT|WRAPX|WRAPY|WRAPXY]
  2007.    brush wrapping method
  2008.  VECTOR POS
  2009.    position
  2010.  VECTOR ALIGN
  2011.    alignment
  2012.  VECTOR SIZE
  2013.    size of brush
  2014.  KEYWORD REPEAT
  2015.    if set, brush is repeated like a tile
  2016.  KEYWORD MIRROR
  2017.    if set, brush is mirrord (when REPEAT is specified)
  2018.  KEYWORD SOFT
  2019.    if set, brush color is interpolated softly
  2020.  STRING ACTOR
  2021.    name of actor
  2022. ›0m›1mDescription:›0m
  2023.  Adds a brush to surface definition. A brush is a bitmap which is wrapped
  2024.  around an  object. The specified file will be searched for in the current
  2025.  directory. If it wasn't found there and a ›3mBRUSHPATH›0m
  2026.  be searched there.
  2027.  If an error occures the command returns an error string. Supported formats
  2028.  are: IFF-ILBM, PNG, TGA and Datatypes.
  2029.  
  2030.  Constants for type:
  2031.  COLOR
  2032.   Replaces the surface color of the object with the image (sets ›3mDIFFUSE›0m and
  2033.   ›3mAMBIENT›0m color).
  2034.  REFLECT
  2035.   Map covers the surface and reflects environment (see ›3mREFLECT›0m)).
  2036.  FILTER
  2037.   Uses the white color to pass colors and the black area to hold back color
  2038.   with a variance between two colors (like with ›3mTRANSPAR›0m).
  2039.  ALTITUDE
  2040.   The red values of the brush are used to give the surface an appearence of
  2041.   bumpiness.
  2042.  SPECULAR
  2043.   The rgb values set the specular color of the surface (see ›3mSPECULAR›0m).
  2044.  
  2045.  Constants for wrap :
  2046.  FLAT
  2047.   The brush is projected to X-Y plane, the axis is in the middle of the
  2048.   brush area, length is the distance from the middle to the border.
  2049.  WRAPX
  2050.   The brush is wrapped around the x-axis, like on a cylinder. The left edge
  2051.   of the brush begins at the posititve X axis and wraps the brush around
  2052.   the cylinder from 'west' to 'east'.
  2053.  WRAPY
  2054.   Same as WRAPX, but wrapping is around the y-axis.
  2055.  WRAPXY
  2056.   Wrapping both: around X and Y axis. It is assumed, that the object is a
  2057.   sphere. The Y axis is the north/south pole of the spherical mapping. The
  2058.   left edge of the brush begins at the positive X axis and wraps the brush
  2059.   around the sphere from 'west' to 'east'. The brush covers the sphere
  2060.   exactly once.
  2061. ›0m›1mExample:›0m
  2062.  BRUSH "earth.iff" COLOR, WRAPXY <0,0,0> <0,0,0> <0.1,0.1,0.1>
  2063.  
  2064. ›0m›1mDIFFTRANS›0m
  2065.  
  2066. ›0m›1mTemplate:›0m
  2067.  COLOR/A
  2068. ›0m›1mArguments:›0m
  2069.  COLOR COLOR
  2070.    color
  2071. ›0m›1mDescription:›0m
  2072.  Sets the diffuse transmission color of surface. Same as diffuse reflection,
  2073.  but only used if the lightsource is on opposite side of surface. Only
  2074.  applied if tranlucency is not set to zero.
  2075. ›0m›1mDefault:›0m
  2076.  DIFFTRANS [0,0,0]
  2077.  
  2078. ›0m›1mDIFFUSE›0m
  2079.  
  2080. ›0m›1mTemplate:›0m
  2081.  COLOR/A
  2082. ›0m›1mArguments:›0m
  2083.  COLOR COLOR
  2084.    color
  2085. ›0m›1mDescription:›0m
  2086.  Sets the diffuse color of surface. The diffuse reflection falls off as
  2087.  the cosine of the angle between the normal and the ray to the light.
  2088.  Diffuse reflection determines the main color of the object (color in
  2089.  Imagine).
  2090. ›0m›1mDefault:›0m
  2091.  DIFFUSE [255,255,255]
  2092.  
  2093. ›0m›1mFOGLEN›0m
  2094.  
  2095. ›0m›1mTemplate:›0m
  2096.  VALUE/A
  2097. ›0m›1mArguments:›0m
  2098.  FLOAT VALUE/A
  2099.    foglength
  2100. ›0m›1mDescription:›0m
  2101.  Sets the foglength of the surface. The fog color is set with ›3mTRANSPAR›0m.
  2102. ›0m›1mDefault:›0m
  2103.  FOGLEN 0
  2104.  
  2105. ›0m›1mIMTEXTURE›0m
  2106.  
  2107. ›0m›1mTemplate:›0m
  2108.  NAME/A,POS,ALIGN,SIZE,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,ACTOR
  2109. ›0m›1mArguments:›0m
  2110.  STRING NAME
  2111.    name of Imagine texture file
  2112.  VECTOR POS
  2113.    position
  2114.  VECTOR ALIGN
  2115.    alignment
  2116.  VECTOR SIZE
  2117.    size of texture axis
  2118.  FLOAT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16
  2119.    texture parameters
  2120.  STRING ACTOR
  2121.    name of actor
  2122. ›0m›1mDescription:›0m
  2123.  Adds a Imagine texture to surface
  2124. ›0m›1mDefault:›0m
  2125.  defaults are taken from texture if not all paramters are given
  2126. ›0m›1mExample:›0m
  2127.  IMTEXTURE "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2>
  2128.  
  2129. ›0m›1mNEWSURFACE›0m
  2130.  
  2131. ›0m›1mTemplate:›0m
  2132.  NAME/A,BRIGHT/S
  2133. ›0m›1mArguments:›0m
  2134.  STRING NAME
  2135.    name
  2136.  KEYWORD BRIGHT
  2137.    if set, the brightness of the surface is everywhere the same
  2138. ›0m›1mDescription:›0m
  2139.  Defines a new surface.
  2140.  
  2141. ›0m›1mREFEXP›0m
  2142.  
  2143. ›0m›1mTemplate:›0m
  2144.  VALUE/A
  2145. ›0m›1mArguments:›0m
  2146.  FLOAT VALUE
  2147.    specular reflection exponent
  2148. ›0m›1mDescription:›0m
  2149.  Sets the specular reflection exponent of surface. Determines the size of
  2150.  the specularly reflected highlights, the higher the smaller the highlight
  2151.  (hardness in Imagine).
  2152. ›0m›1mDefault:›0m
  2153.  REFEXP 12.
  2154.  
  2155. ›0m›1mREFLECT›0m
  2156.  
  2157. ›0m›1mTemplate:›0m
  2158.  COLOR/A
  2159. ›0m›1mArguments:›0m
  2160.  COLOR COLOR
  2161.    color
  2162. ›0m›1mDescription:›0m
  2163.  Sets the specular reflectivity of surface
  2164. ›0m›1mDefault:›0m
  2165.  REFLECT [0,0,0]
  2166.  
  2167. ›0m›1mREFRINDEX›0m
  2168.  
  2169. ›0m›1mTemplate:›0m
  2170.  VALUE/A
  2171. ›0m›1mArguments:›0m
  2172.  FLOAT VALUE
  2173.    index of refraction
  2174. ›0m›1mDescription:›0m
  2175.  Sets the index of refraction of surface. Determines how the ray is refracted
  2176.  through transparent objects, the higher the more (index of refraction in
  2177.  Imagine).
  2178. ›0m›1mDefault:›0m
  2179.  REFRINDEX 1.
  2180. ›0m›1mExamples:›0m
  2181.  MATERIAL                      Index
  2182.  -------------------------------------
  2183.  Vacuum ...................... 1.00000 (exactly)
  2184.  
  2185.  Air (STP).................... 1.00029
  2186.  Acetone ..................... 1.36
  2187.  Alcohol ..................... 1.329
  2188.  Amorphous Selenium .......... 2.92
  2189.  Calspar1 .................... 1.66
  2190.  Calspar2 .................... 1.486
  2191.  Carbon Disulfide ............ 1.63
  2192.  Chromium Oxide .............. 2.705
  2193.  Copper Oxide ................ 2.705
  2194.  Crown Glass ................. 1.52
  2195.  Crystal ..................... 2.00
  2196.  Diamond ..................... 2.417
  2197.  Emerald ..................... 1.57
  2198.  Ethyl Alcohol ............... 1.36
  2199.  Flourite .................... 1.434
  2200.  Fused Quartz ................ 1.46
  2201.  Heaviest Flint Glass ........ 1.89
  2202.  Heavy Flint Glass ........... 1.65
  2203.  Glass ....................... 1.5
  2204.  Ice ......................... 1.309
  2205.  Iodine Crystal .............. 3.34
  2206.  Lapis Lazuli ................ 1.61
  2207.  Light Flint Glass ........... 1.575
  2208.  Liquid Carbon Dioxide ....... 1.20
  2209.  Polystyrene ................. 1.55
  2210.  Quartz 1 .................... 1.644
  2211.  Quartz 2 .................... 1.553
  2212.  Ruby ........................ 1.77
  2213.  Sapphire .................... 1.77
  2214.  Sodium Chloride (Salt) 1 .... 1.544
  2215.  Sodium Chloride (Salt) 2 .... 1.644
  2216.  Sugar Solution (30%) ........ 1.38
  2217.  Sugar Solution (80%) ........ 1.49
  2218.  Topaz ....................... 1.61
  2219.  Water (20 C) ................ 1.333
  2220.  Zinc Crown Glass ............ 1.517
  2221.  
  2222. ›0m›1mSPECTRANS›0m
  2223.  
  2224. ›0m›1mTemplate:›0m
  2225.  COLOR/A
  2226. ›0m›1mArguments:›0m
  2227.  COLOR COLOR
  2228.    color
  2229. ›0m›1mDescription:›0m
  2230.  Sets the specular transmission color of surface. Same as specular
  2231.  reflection, but only used if the lightsource is on opposite side of
  2232.  surface. Only applied if tranlucency is not 0.
  2233. ›0m›1mDefault:›0m
  2234.  SETSPECTRANS [255,255,255]
  2235.  
  2236. ›0m›1mSPECULAR›0m
  2237.  
  2238. ›0m›1mTemplate:›0m
  2239.  COLOR/A
  2240. ›0m›1mArguments:›0m
  2241.  COLOR COLOR
  2242.    color
  2243. ›0m›1mDescription:›0m
  2244.  Sets the specular color of surface. Specularly reflected highlights fall
  2245.  off as the cosine of the angle between the reflected ray and the ray to the
  2246.  light source (specular in Imagine).
  2247. ›0m›1mDefault:›0m
  2248.  SPECULAR [255,255,255]
  2249.  
  2250. ›0m›1mTRANSEXP›0m
  2251.  
  2252. ›0m›1mTemplate:›0m
  2253.  VALUE/A
  2254. ›0m›1mArguments:›0m
  2255.  FLOAT VALUE
  2256.    specular transmission exponent
  2257. ›0m›1mDescription:›0m
  2258.  Sets the specular transmission exponent of surface. Same as specular
  2259.  reflection exponent, but only used if the lightsource is on opposite
  2260.  side of surface.
  2261. ›0m›1mDefault:›0m
  2262.  TRANSEXP 12.
  2263.  
  2264. ›0m›1mTRANSLUC›0m
  2265.  
  2266. ›0m›1mTemplate:›0m
  2267.  VALUE/A
  2268. ›0m›1mArguments:›0m
  2269.  FLOAT VALUE
  2270.    specular transmittance
  2271. ›0m›1mDescription:›0m
  2272.  Sets the specular transmittance of surface
  2273. ›0m›1mDefault:›0m
  2274.  TRANSLUC 0
  2275.  
  2276. ›0m›1mTRANSPAR›0m
  2277.  
  2278. ›0m›1mTemplate:›0m
  2279.  COLOR/A
  2280. ›0m›1mArguments:›0m
  2281.  COLOR COLOR
  2282.    color
  2283. ›0m›1mDescription:›0m
  2284.  Sets the diffuse transmittance of surface
  2285. ›0m›1mDefault:›0m
  2286.  TRANSPAR [0,0,0]
  2287.  
  2288.    ›0m›1mAREXX-COMMANDS FOR ANIMATION CONTROL›0m
  2289.  
  2290. ›3mALIGNMENT›0m  sets alignment
  2291. ›3mNEWACTOR ›0m  creates a new actor
  2292. ›3mPOSITION ›0m  sets position
  2293. ›3mSIZE     ›0m  sets size
  2294.  
  2295. ›0m›1mALIGNMENT›0m
  2296.  
  2297. ›0m›1mTemplate:›0m
  2298.  FROM/A,TO/A,ALIGN/A,TYPE
  2299. ›0m›1mArguments:›0m
  2300.  FLOAT FROM,TO
  2301.    time interval
  2302.  VECTOR ALIGN
  2303.    alignment at the end of the interval
  2304.  KEYWORD TYPE [LINEAR]
  2305.    interpolation type (currently only linear)
  2306. ›0m›1mDescription:›0m
  2307.  Sets the alignment of the object. At time to, the actor will have this
  2308.  alignment.
  2309.  'TYPE' can be one of the following identifiers:
  2310.    LINEAR  the object moves on a straight line between the positions
  2311.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2312.            IMPLEMENTED YET)
  2313.  
  2314. ›0m›1mNEWACTOR›0m
  2315.  
  2316. ›0m›1mTemplate:›0m
  2317.  NAME/A,POS,ALIGN,SIZE
  2318. ›0m›1mArguments:›0m
  2319.  STRING NAME
  2320.    name of actor
  2321.  VECTOR POS
  2322.    initial position of actor
  2323.  VECTOR ALIGN
  2324.    initial alignment (in degrees)
  2325.  VECTOR SIZE
  2326.    initial size
  2327. ›0m›1mDescription:›0m
  2328.  Creates a new actor. Usually a NEWACTOR definition is followed by one or more
  2329.  POSITION, ALIGNMENT, SIZE commands which define the properties of the actor
  2330.  at a certain time.
  2331.  For more information on NEWACTOR, please click ›3mhere›0m.
  2332. ›0m›1mDefault:›0m
  2333.  NEWACTOR ??? <0,0,0> <0,0,0> <1,1,1>
  2334.  
  2335. ›0m›1mPOSITION›0m
  2336.  
  2337. ›0m›1mTemplate:›0m
  2338.  FROM/A,TO/A,POS/A,TYPE
  2339. ›0m›1mArguments:›0m
  2340.  FLOAT FROM,TO
  2341.    time interval
  2342.  VECTOR POS
  2343.    position at the end of the interval
  2344.  KEYWORD TYPE [LINEAR]
  2345.    interpolation type (currently only linear)
  2346. ›0m›1mDescription:›0m
  2347.  Sets the position of the object. At time to, the actor will be at this
  2348.  position.
  2349.  'TYPE' can be one of the following identifiers:
  2350.    LINEAR  the object moves on a straight line between the positions
  2351.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2352.            IMPLEMENTED YET)
  2353.  
  2354.    ›0m›1mSIZE›0m
  2355.  
  2356. ›0m›1mTemplate:›0m
  2357.  FROM/A,TO/A,SIZE/A,TYPE
  2358. ›0m›1mArguments:›0m
  2359.  FLOAT FROM,TO
  2360.    time interval
  2361.  SIZE
  2362.    size at the end of the interval
  2363.  KEYWORD TYPE [LINEAR]
  2364.    interpolation type (currently only linear)
  2365. ›0m›1mDescription:›0m
  2366.  Sets the size of the object. At time to, the actor will have this size.
  2367.  'TYPE' can be one of the following identifiers:
  2368.    LINEAR  the object moves on a straight line between the positions
  2369.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2370.            IMPLEMENTED YET)
  2371.  
  2372. ›0m›1mWHAT IS AN ACTOR?›0m
  2373.  
  2374. The statement:
  2375.  
  2376. NEWACTOR name, position, alignment, size
  2377.  
  2378. defines a "virtual object" that can be associated with "real" objects,
  2379. including the Camera and  the Lights objects.  Position, alignment, and
  2380. size values are the initial values of an actor.
  2381.  
  2382. The object that is associated with a named actor behaves exactly like the
  2383. actor. When the actor is sized, rotated, or moved; the associted object is
  2384. sized, rotated, or moved accordingly.  It is as though the actor and the
  2385. object that is associated with it are connected by a rod.
  2386.  
  2387. While the coordinates of the object that is associated with an actor are
  2388. always defined in an absolute way in reference to the set world; its
  2389. movements - when associated with an actor - takes place with respect to
  2390. the coordinates of the actor.  The coordinates of the actor are defined in
  2391. the NEWACTOR statment and can have default values.
  2392.  
  2393. The position, alignment, and size values that follow the NEWACTOR statement
  2394. are the final values of an actor.  By defining time from and to values, a time
  2395. increment is defined by which the actor is resized, rotated, or moved from
  2396. the initial values to the final values.  By associating objects to an actor,
  2397. and rendering a picture at a particular time, or through a period of time,
  2398. animation and/or motion blur effects are achieved.
  2399.  
  2400. ›0m›1mAREXX-ERRORS›0m
  2401.  
  2402. These values are returned when something went wrong, you can get the
  2403. error string with the command ›3mGETERRORSTR›0m.
  2404.  
  2405. ›0m›1mApplication and parser errors›0m
  2406.  
  2407. Here are the errors returned from the command parser and the application
  2408. itself.
  2409.  
  2410. 100   Wrong screen resolution
  2411.       Both components of the screen resolution have to be higher than one.
  2412. 101   Not enough memory
  2413.       Allocation of memory failed.
  2414. 102   Limitations of demo version reached
  2415.       The demo version is limited to a resolution of 160x128.
  2416. 103   Unknown brush mapping type
  2417.       You specified a unknown mapping method for the ›3mBRUSH›0m command.
  2418. 104   Unknown brush wrapping method
  2419.       You specified a unknown wrapping method for the ›3mBRUSH›0m command.
  2420. 105   Invalid time intervall
  2421.       One component of a time intervall was negative or the beginning time
  2422.       was later than the end.
  2423. 106   Unknown interpolation method
  2424.       You specified a unknown interpolation method for the ›3mPOSITION›0m,
  2425.       ›3mALIGNMENT›0m or ›3mSIZE›0m command.
  2426. 107   No picture renderd
  2427.       There is no picture for ›3mSAVEPIC›0m to save because you renderd none
  2428.       or called ›3mCLEANUP›0m before.
  2429. 108   Can't open screen
  2430.       The ›3mDISPLAY›0m command was unable to open the screen
  2431.       (!!! THIS COMMAND ISN'T RELEASED IN THIS VERSION YET !!!).
  2432. 109   Can't open raystorm.library (Only one copy of RayStorm can run at a time)
  2433.       RayStorm failed to open raystorm.library
  2434. 110   Can't open intuition.library
  2435.       RayStorm failed to open intuition.library (at least version 37 is
  2436.       needed)
  2437. 111   Can't open window
  2438.       RayStorm failed to open the window.
  2439. 112   Can't open muimaster.library
  2440.       RayStorm failed to open muimaster.library (at least version 8 is
  2441.       needed)
  2442. 113   Invalid vector definition
  2443.       The specified vector has the wrong format (must be '<x,y,z>').
  2444. 114   Invalid color definition
  2445.       The specified color has the wrong format (must be '[r,g,b]').
  2446. 115   Invalid region definition
  2447.       The specified region is out of range.
  2448. 116   No light defined
  2449.       You tried to add lens flares or a light star and there is no previously
  2450.       defined light source.
  2451.  
  2452. ›0m›1mInternal errors›0m
  2453.  
  2454. This are errors of the renderer.
  2455.  
  2456.   1   Not enough memory
  2457.       Allocation of memory failed.
  2458.   2   Limitations of demo version reached
  2459.       The demo version is limited to a resolution of 160x128.
  2460.   3   Wrong screen resolution
  2461.       Both components of the screen resolution have to be higher than one.
  2462.   4   Error in triangle definition
  2463.       It's impossible to generate a triangle with the specified coordinates
  2464.       (see ›3mTRIANGLE›0m).
  2465.   5   The view and up directions are identical?
  2466.       You specified a view-up-vector for the ›3mCAMERA›0m command which is identical
  2467.       to the view direction.
  2468.   6   Not enough memory for screen buffer
  2469.       The allocation of the screen buffer failed.
  2470.   8   Can't open Imagine texture file
  2471.       RayStorm failed to open the specified Imagine texture file, check
  2472.       filename and path.
  2473.   9   Can't open brush file
  2474.       RayStorm failed to open the specified brush file, check
  2475.       filename and path.
  2476.  10   Error initializing Imagine texture
  2477.       An error occured as RayStorm tried to initialize a Imagine texture.
  2478.  11   Can't open picture
  2479.       RayStorm failed to open the specified picture file, check filename
  2480.       and path.
  2481.  12   Error reading picture
  2482.       An error occured while RayStorm read a picture file.
  2483.  13   Can't open picture type file ('modules/picture/types')
  2484.       RayStorm failed to open the typefile. The typefile is needed to
  2485.       identify the filetypes of the pictures. RayStorm was unable to open
  2486.       the file 'modules/picture/types'.
  2487.  14   Error reading picture type file
  2488.       An error occured while RayStorm read the picture type file, maybe the
  2489.       file is damaged.
  2490.  14   Unknown picture format
  2491.       RayStorm was unable to recognize the format of the picture file.
  2492.  16   An error occcured while invoking picture handler
  2493.       The used picture handler returned a error.
  2494.  17   Can't open object
  2495.       RayStorm failed to open the specified object file, check filename
  2496.       and path.
  2497.  18   Error reading object
  2498.       An error occured while RayStorm read a object file.
  2499.  19   Can't open object type file ('modules/object/types')
  2500.       RayStorm failed to open the typefile. The typefile is needed to
  2501.       identify the filetypes of the objects. RayStorm was unable to open
  2502.       the file 'modules/object/types'.
  2503.  20   Error reading object type file
  2504.       An error occured while RayStorm read the object type file, maybe the
  2505.       file is damaged.
  2506.  21   Unknown object format
  2507.       RayStorm was unable to recognize the format of the object file.
  2508.  22   An error occcured while invoking object handler
  2509.       The used object handler returned a error.
  2510.  23   Actor not defined
  2511.       The specified actor name does not exist.
  2512.  24   Surface not defined
  2513.       The specified surface name does not exist.
  2514.  25   Depth of octree too big (max. 6)
  2515.       The octree depth is limited to a depth of 6.
  2516.  26   Antialiasing value too big (max. 8)
  2517.       The value of the ›3mANTIALIAS›0m command is limited to 8.
  2518.  27   Invalid time intervall
  2519.       One component of a time intervall was negative or the beginning time
  2520.       was later than the end.
  2521.  28   No picture renderd
  2522.       There is no picture for ›3mSAVEPIC›0m to save because you renderd none
  2523.       or called ›3mCLEANUP›0m before.
  2524.  29   Distribution value too big (max. 8)
  2525.       The value of the ›3mDISTRIB›0m command is limited to 8.
  2526.  30   Wrong error number
  2527.       The error number for ›3mGETERRORSTR›0m is out of range.
  2528.  31   Unknown Parameter
  2529.       A RSI-function was called with an unknown parameter (should nerver occur).
  2530.  
  2531. ›0m›1mEXAMPLES›0m
  2532.  
  2533. We have included several demos in the directories 'arexx' and 'examples'
  2534. to show how to use RayStorm.
  2535.  
  2536. In the 'arexx' directory are examples scripts which show the usage of
  2537. RayStorm with ARexx. Start them simply by typing 'rx ???.ray' in a shell
  2538. (???.ray is the name of the script).
  2539.  
  2540. In the 'examples' directory are C-programs which show the usage of
  2541. RayStorm directly with a program. They can only be run from a shell.
  2542. These programs are producing a couple of pictures no animation, which must
  2543. be glued together with a utility like MainActor.
  2544.  
  2545. ›0m›1mTUTORIALS›0m
  2546.  
  2547. If you use RayStorm for the first time, then it would be a good idea to do
  2548. the following tutorials:
  2549.  
  2550. ›3mSimple scene ›0m
  2551. ›3mBouncing ball›0m
  2552. ›3mMotion blur  ›0m
  2553.  
  2554. ›0m›1mTutorial: Simple scene›0m
  2555.  
  2556. Now we will create a very famous scene. A sphere over a checkerboard! Ok, it
  2557. may be boring, but it's good for the absolute beginner to get an
  2558. impression of building a scene.
  2559.  
  2560. Here we go:
  2561.  
  2562. 1. In the  drawer 'ARexx' of the RayStorm directory there is a file named
  2563.    'default.ray'. This is a default form for RayStorm ARexx scripts. You can
  2564.    use this form to write your own scripts.
  2565.    We'll use this file as a default for our animation script. Copy this file
  2566.    to the file 'simple.ray'. After this load the file 'simple.ray' to your
  2567.    favorite text editor (e.g GoldEd or CygnusEd).
  2568.  
  2569. 2. To view the scene, we need a camera. Insert after the line 'address
  2570.    RAYSTORM' the line:
  2571.  
  2572. ›0m›3m   '›3mSETCAMERA›0m <6,1.5,-1.5> <0,0,0> <0,1,0>'›0m
  2573.  
  2574.    This sets the camera to position <6,1.5,-1.5>. The camera points to
  2575.    <0,0,0> and the view-up vector is <0,1,0>. Note that you don't have to
  2576.    specify every single parameter. Every command has default values. Refer
  2577.    to the description of a command to find out the default values.
  2578.  
  2579. 3. Nothing can be seen without a lightsource.
  2580.    Go to the next line and type:
  2581.  
  2582. ›0m›3m   '›3mPOINTLIGHT›0m <0,50,0> [255,255,255] SHADOW'›0m
  2583.  
  2584.    The sphere is illuminated from above with white light.
  2585.  
  2586. 4. Before placing the objects in the scene, you have to define their
  2587.    surfaces.
  2588.    Insert this line:
  2589.  
  2590. ›0m›3m   '›3mNEWSURFACE›0m planesurf'›0m
  2591.  
  2592.    This creates a surface with name planesurf. The plane has a checkered
  2593.    surface, so insert:
  2594.  
  2595. ›0m›3m   '›3mIMTEXTURE›0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2>'›0m
  2596.  
  2597. 5. That was the plane texture. Let 's go over to sphere texture.
  2598.    Add:
  2599.  
  2600. ›0m›3m   '›3mNEWSURFACE›0m spheresurf'›0m
  2601.  
  2602.    The sphere has a mirrored surface. To simulate a perfect mirror, type
  2603.  
  2604. ›0m›3m   '›3mREFLECT›0m [255,255,255]'›0m
  2605.  
  2606. 6. Now we can add the objects to the scene:
  2607.  
  2608. ›0m›3m   '›3mSPHERE›0m spheresurf <0,0.5,0> 1'›0m
  2609.  
  2610.    This creates a sphere on position <0,0.5,0> and radius 1.
  2611.    Add the plane:
  2612.  
  2613. ›0m›3m   '›3mPLANE›0m planesurf'›0m
  2614.  
  2615.    The default values for the position and the normal vector fit to our
  2616.    scene, so we can take them over.
  2617.  
  2618. 7. Let's make an end to the definitions and render the scene!
  2619.    Type:
  2620.  
  2621. ›0m›3m   '›3mSTARTRENDER›0m'›0m
  2622.  
  2623. 8. Finally we may not forget to save the picture, so add:
  2624.  
  2625. ›0m›3m   '›3mSAVEPIC›0m simple.iff'›0m
  2626.  
  2627.    which will save the renderd picture in the current directory as a
  2628.    IFF-ILBM file.
  2629.    The last step is to free all the memory with the command 'CLEANUP'. Add:
  2630.  
  2631. ›0m›3m   ›3mCLEANUP›0m'›0m
  2632.  
  2633. 9. Start the script from a shell-window with the sequence 'rx simple.ray'.
  2634.    RayStorm will now generate your picture. When RayStorm finished the work
  2635.    start your favourite viewer-program, load the file and have a look at
  2636.    it.
  2637.    Looks very monochrome!!
  2638.    To make the world colorful, we make a red checker and set the sky to
  2639.    blue. A blue sky can be done by setting the world's background color.
  2640. 10. Before 'SETCAMERA' insert:
  2641.  
  2642. ›0m›3m   '›3mSETWORLD›0m [30,30,255]'›0m
  2643.  
  2644.    Add
  2645.  
  2646. ›0m›3m   '›3mDIFFUSE›0m [155,0,0]'›0m
  2647.  
  2648.    to the surface planesurf (this defines one checker color), the other one
  2649.    must be set in the 'IMTEXTURE' command, so change it to
  2650.  
  2651. ›0m›3m   '›3mIMTEXTURE›0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2> 255 0 0'›0m
  2652.  
  2653.    (Note that '255 0 0' describes a color, but is not embedded in < >,
  2654.    because the checker color belongs to the texture parameters which are
  2655.    all floats.)
  2656.  
  2657. 11. Render the scene once again, and view it.
  2658.  
  2659. That's the end of the tutorial! Make some changes to the scene file and
  2660. play around with the parameters to see their effects.
  2661.  
  2662. ›0m›1mTutorial: Bouncing ball›0m
  2663.  
  2664. The goal of this tutorial is to show you how to generate little animations.
  2665. At the end of this tutorial you'll have a animation where the earth rotates
  2666. and bounces on a rotating plane with a white checker texture on the top and
  2667. a red checker on the bottom. If you have a fast computer you can also
  2668. generate the animation with motion blur.
  2669.  
  2670. O.k. here we go:
  2671.  
  2672. 1. In the  drawer 'ARexx' of the RayStorm directory there is a file named
  2673.    'default.ray'. This is a default form for RayStorm ARexx scripts. You can
  2674.    use this form to write your own scripts.
  2675.    We will use this file as a default for our animation script. Copy this file
  2676.    to the file 'bounce.ray'. After this load the file 'bounce.ray' to your
  2677.    favorite text editor (e.g GoldEd or CygnusEd).
  2678.  
  2679. 2. First we define some values: the acceleration of the ball and the amount
  2680.    of frames to generate.
  2681.    RayStorm has three commands to set the paths where it searchs the files
  2682.    it needs. We use a brush for the surface of the ball and a texture for
  2683.    the surface of the ground.
  2684.    To do this we have to insert after the command 'ADDRESS RAYSTORM' the
  2685.    lines:
  2686.  
  2687. ›0m›3m   g = .2
  2688.    frames = 17
  2689.  
  2690.    '›3mBRUSHPATH›0m /brushes'
  2691.    '›3mTEXTUREPATH›0m /textures'›0m
  2692.  
  2693.    It's the same if you write the commands in upper case or lower case.
  2694.    But it's important to enclose all commans in quotes because ARexx tries
  2695.    to interpret the line before it sends it. It may happen that the line is
  2696.    changed and RayStorm don't do the things you want.
  2697.  
  2698. 3. Next we set the screen resolution. For the first experiments we choose
  2699.    a low resolution of 160x128 pixels. Insert the line:
  2700.  
  2701. ›0m›3m   '›3mSETSCREEN›0m 160 128'›0m
  2702.  
  2703. 4. Now we set the camera parameters. The first three values determine the
  2704.    position of the camera. We want to place it so that we can see the ball
  2705.    all over the time. The next values set the viewpoint of the camera, this
  2706.    is the point the camera aims to. The next values determine the view up
  2707.    vector. And the last two values determine the field of view. To get a
  2708.    pixel aspect of 1:1 we have to set them to 25 and 20 degree.
  2709.  
  2710. ›0m›3m   '›3mSETCAMERA›0m <0,10,40> <0,5,0> <0,1,0> 25 20'›0m
  2711.  
  2712. 5. We want to have a bright blue background for our animation. The
  2713.    background and the global ambient color is set with the 'SETWORLD'
  2714.    command. We want to set the ambient color to a dark gray, if this color
  2715.    is to bright the scene will look washed out and the objects appear flat.
  2716.    Insert the line:
  2717.  
  2718. ›0m   '›3mSETWORLD›0m [10,30,200] [10,10,10]'›0m
  2719.  
  2720. 6. The illumination is an important part of a scene. We want to place a
  2721.    pointlight near the camera. Add the line:
  2722.  
  2723. ›0m   '›3mPOINTLIGHT›0m <5,10,50>'›0m›3m
  2724.  
  2725. 7. Now we define the actor for the plane. We want to rotate it around the
  2726.    Z-axis. Insert the lines:
  2727.  
  2728. ›0m›3m   '›3mNEWACTOR›0m groundactor'
  2729.    '›3mALIGNMENT›0m 0 ' frames+2 ' <0,0,360>'›0m
  2730.  
  2731. 7. Now we define the surface for the plane and the plane itself. We make it
  2732.    a little reflective and apply a checker texture. The surface 'groundtop'
  2733.    is for the top of the plane and the surface 'groundbottom' is for the
  2734.    bottom of the surface. The plane itself consits of four triangles. Two
  2735.    fo the top and two for the bottom. Insert the lines:
  2736.  
  2737. ›0m›3m   '›3mNEWSURFACE›0m groundtop'
  2738.    '›3mDIFFUSE›0m [255,255,255]'
  2739.    '›3mSPECULAR›0m [0,0,0]'
  2740.    '›3mREFLECT›0m [50,50,50]'
  2741.    '›3mIMTEXTURE›0m checker.itx <0,-1,0> <0,0,0> <10,10,10> ACTOR groundactor'
  2742.  
  2743.    '›3mNEWSURFACE›0m groundbottom'
  2744.    '›3mDIFFUSE›0m [255,0,0]'
  2745.    '›3mSPECULAR›0m [0,0,0]'
  2746.    '›3mREFLECT›0m [50,50,50]'
  2747.    '›3mIMTEXTURE›0m checker.itx <0,-1,0> <0,0,0> <1.5,1.5,1.5> ACTOR groundactor'
  2748.  
  2749.    '›3mTRIANGLE›0m groundtop <-2,0,-2> <2,0,-2> <2,0,2> ACTOR groundactor'
  2750.    '›3mTRIANGLE›0m groundtop <-2,0,-2> <-2,0,2> <2,0,2> ACTOR groundactor'
  2751.    '›3mTRIANGLE›0m groundbottom <-2,-.01,-2> <2,-.01,-2> <2,-.01,2> ACTOR groundactor'
  2752.    '›3mTRIANGLE›0m groundbottom <-2,-.01,-2> <-2,-.01,2> <2,-.01,2> ACTOR groundactor'›0m
  2753.  
  2754. 8. Next we define the motion of the ball. It starts at a height of 10 and
  2755.    accelerates until it bounces on the plane, changes it's direction and
  2756.    the motions ends as the ball is back at he start point. Additional the
  2757.    ball rotates around the Y-axis. Add the following sequence to your script:
  2758.  
  2759. ›0m›3m   speed = -g
  2760.    pos = 10
  2761.    '›3mNEWACTOR›0m ballactor <0,'pos',0>'
  2762.    do i=0 to frames
  2763.      '›3mPOSITION›0m ' i i+1 '<0,'pos',0>'
  2764.      pos = pos+speed
  2765.      if pos<=1 & speed<0 then
  2766.        speed = -speed
  2767.      else
  2768.        speed = speed-g
  2769.    end
  2770.    '›3mALIGNMENT›0m 0 ' frames+2 ' <0,360,0>'›0m
  2771.  
  2772. 9. Now we define the surface for the ball and the ball itself. The only thing
  2773.    we must do is to map a earth styled brush map to a sphere. To reach this
  2774.    goal the position of the brush must be set to the middle of the sphere
  2775.    and the size must be small enough to be completely inside the sphere.
  2776.     This are the lines to define the ball:
  2777.  
  2778. ›0m›3m   '›3mNEWSURFACE›0m ball'
  2779.    '›3mBRUSH›0m earth.iff COLOR WRAPXY <0,10,0> <0,0,0> <.1,.1,.1> ACTOR ballactor'
  2780.  
  2781.    '›3mSPHERE›0m ball <0,10,0> 1 ACTOR ballactor'›0m
  2782.  
  2783. 10. If your computer is fast enough you can insert the follwing lines:
  2784.  
  2785. ›0m›3m   '›3mANTIALIAS›0m 2'
  2786.    '›3mDISTRIB›0m 2'›0m
  2787.  
  2788.    'ANTIALIAS' improves the quality of the picture; 2 or 3 are normal values,
  2789.    higher values don't improve the quality significant.
  2790.    A value higher than one for 'DISTRIB' switches {"motion blur" link Motion Blur} on.
  2791.  
  2792. 11. At this the we have finished the definitions and now can render the single
  2793.    frames. If youn want the reflections of the ball on the plane you have
  2794.    to delete the keyword 'QUICK', because RayStorm renders no reflections in
  2795.    quick mode. The frame time is set with 'FROM' and 'TO'. We save the frames
  2796.    as IFF-ILBM pictures with the names 'bounce0001.iff' ... 'bounceXXXX.iff'.
  2797.    The last step is to free all the memory with the command 'CLEANUP'. Add
  2798.    these lines:
  2799.  
  2800. ›0m›3m   do i=0 to frames
  2801.       '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i+1
  2802.       '›3mSAVEPIC›0m bounce' || RIGHT(i,4,0) || '.iff'
  2803.    end
  2804.  
  2805.    '›3mCLEANUP›0m'›0m
  2806.  
  2807. 12. Start the script from a shell-window with the sequence 'rx bounce.ray'.
  2808.    RayStorm will now generate your frames. When RayStorm finished the work
  2809.    you must glue the pictures together to get the animation.
  2810.  
  2811. That's all. Have fun!
  2812.  
  2813. ›0m›1mTutorial: Motion blur›0m
  2814.  
  2815. In this tutorial we show you how to make animations and how to use motion
  2816. blur.
  2817. To animate objects we need ACTORs. An ACTOR can be seen as a virtual object
  2818. which can have a certain position/alignment/size at a certain time. ACTORs can
  2819. be used for keyframe animation by giving control points which RayStorm can
  2820. interpolate (only linear for now.  Spline interpolations will be implemented
  2821. later).
  2822. You can assign an ACTOR to one or more real objects. An object with an actor
  2823. assigned to it will follow all actions the actor does. Let's take the sphere
  2824. from the second tutorial and move it to direction of the camera.
  2825. Type following:
  2826.  
  2827. ›0m›3m'›3mSETCAMERA›0m <6,1.5,-1.5> <0,0,0><0,1,0>'
  2828. '›3mPOINTLIGHT›0m <30,50,30> [255,255,255] SHADOW'›0m
  2829.  
  2830. you can add POSITION, ALIGNMENT and SIZE commands after NEWACTOR
  2831. (similar to the surface commands after NEWSURFACE)
  2832.  
  2833. ›0m›3m'›3mNEWACTOR›0m actor'
  2834. '›3mPOSITION›0m 0 1 <3,0,0.4>'
  2835.  
  2836. '›3mNEWSURFACE›0m planesurf'
  2837. '›3mDIFFUSE›0m <255,30,30>'
  2838. '›3mIMTEXTURE›0m "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2> 155 25 0'
  2839.  
  2840. '›3mNEWSURFACE›0m spheresurf'
  2841. '›3mREFLECT›0m <255,255,255>'
  2842.  
  2843. '›3mSPHERE›0m spheresurf <0,1,0> 0.7 actor'
  2844. '›3mPLANE›0m planesurf'›0m
  2845.  
  2846. You can make an animation by a series of STARTRENDER/SAVEPIC combinations. Our
  2847. little movie shall consist of 6 frames, so we will subdivide our time intervall
  2848. (1 unit) and make a photo every 0.2 time units. The STARTRENDER command has the
  2849. option to render a picture within a certain time intervall. That can be
  2850. compared with the shutter time of a real camera. The camera of RayStorm records
  2851. all movements of the objects in the scene within that time intervall which
  2852. results in a blurred scene. At the beginning we do no motion blur, so we set
  2853. the start and the end time to the same value. (Which means no shutter time).
  2854.  
  2855. Add this code and execute it:
  2856.  
  2857. ›0m›3mdo i=0 to 1 step 0.2
  2858.  '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i
  2859.  '›3mSAVEPIC›0m sphere' || RIGHT(i*5,4,0) || '.iff'
  2860. end
  2861.  
  2862. '›3mCLEANUP›0m'›0m
  2863.  
  2864. You can make a movie out of it using an animator program such as MainActor.
  2865. Now we introduce one of the advanced features of RayStorm: Motion Blur
  2866. Replace the commands above by the following lines:
  2867.  
  2868. ›0m›3m/* when doing motion blur you *MUST* add the distrib command +/
  2869.  
  2870. '›3mDISTRIB›0m 3'
  2871.  
  2872. /* shutter time is 0.2 */
  2873.  
  2874. do i=0 to 0.8 step 0.2
  2875.  '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i+0.2
  2876.  '›3mSAVEPIC›0m sphere' || RIGHT(i*5,4,0) || '.iff'
  2877. end
  2878.  
  2879. '›3mCLEANUP›0m'›0m
  2880.  
  2881. For each frame, the camera opens the shutter 0.2 time units long and records
  2882. what's happening. As you can see, an animation with motion blur gives a better
  2883. visual effect.
  2884. Again feel free to change the parameters.
  2885.  
  2886. ›0m›1mTEXTURES›0m
  2887.  
  2888. Textures are mathematically generated patterns which can be applied to the
  2889. surface of an object.
  2890. There are several textures in the directory 'textures'.
  2891.  
  2892.    ›3m Bump    ›0m
  2893.    ›3m Checker ›0m
  2894.    ›3m Linear  ›0m
  2895.    ›3m Marble  ›0m
  2896.    ›3m Radial  ›0m
  2897.    ›3m Stars   ›0m
  2898.    ›3m Wood    ›0m
  2899.  
  2900. ›0m›1mBUMP›0m
  2901.  
  2902. This texture applies bumps to the surface.
  2903. Size of texture determines size of the bumps.
  2904.  
  2905. ›0m›1mParameters:›0m
  2906.  
  2907. 1: X bump size
  2908. 2: Y bump size
  2909. 3: Z bump size
  2910. set the 'depth' of the bumps.
  2911.  
  2912. Example:
  2913. sphere with radius 1
  2914.  ›0m›3mIMTEXTURE bump.itx <0,0,0> <0,0,0> <.3,.3,.3> 1 1 1›0m
  2915. ›3mPicture›0m
  2916.  
  2917. ›0m›1mCHECKER›0m
  2918.  
  2919. This texture applies thw ell known checker pattern to the surface.
  2920. ›0m›1mAttention!
  2921. If you apply a checker texture to a plane, the plane may not be at the same
  2922. position on which the checker changes its color. Otherwise you get a noisy
  2923. texture due to rounding errors.›0m
  2924.  
  2925. ›0m›1mParameters:›0m
  2926.  
  2927. 1: Color Red
  2928. 2: Color Green
  2929. 3: Color Blue
  2930. Color of the checkers, other color is taken from object.
  2931.  
  2932. 4: Reflect Red
  2933. 5: Reflect Green
  2934. 6: Reflect Blue
  2935. Reflect color of the checkers.
  2936.  
  2937. 7: Filter Red
  2938. 8: Filter Green
  2939. 9: Filter Blue
  2940. Filter color of the checkers.
  2941.  
  2942. ›0m›1mExample:›0m
  2943.  ›0m›3mIMTEXTURE "checker.itx" <0,0.1,0> <0,0,0> <2,2,2> 255 0 0›0m
  2944. ›3mPicture›0m
  2945.  
  2946. ›0m›1mLINEAR›0m
  2947.  
  2948. This texture varies the color of the object in the y-direction of the
  2949. texture.
  2950.  
  2951. ›0m›1mParameters:›0m
  2952.  
  2953. 1: Color Red
  2954. 2: Color Green
  2955. 3: Color Blue
  2956. color to interpolate to.
  2957.  
  2958. 4: Reflect Red
  2959. 5: Reflect Green
  2960. 6: Reflect Blue
  2961. reflection to interpolate to.
  2962.  
  2963. 7: Filter Red
  2964. 8: Filter Green
  2965. 9: Filter Blue
  2966. filter to interpolate to.
  2967.  
  2968. ›0m›1mExample:›0m
  2969.  ›0m›3mIMTEXTURE "linear.itx" <0,0.1,0> <0,0,0> <2,2,2> 0 0 255›0m
  2970. ›3mPicture›0m
  2971.  
  2972. ›0m›1mWOOD›0m
  2973.  
  2974. This texture applies a wood like texture to the surface.
  2975. Size of texture determines size of wood.
  2976.  
  2977. ›0m›1mParameters:›0m
  2978.  
  2979. 1: Color Red
  2980. 2: Color Green
  2981. 3: Color Blue
  2982. Color. Other color is taken from object.
  2983.  
  2984. 4: Reflect Red
  2985. 5: Reflect Green
  2986. 6: Reflect Blue
  2987. Reflection color.
  2988.  
  2989. 7: Filter Red
  2990. 8: Filter Green
  2991. 9: Filter Blue
  2992. Filter color.
  2993.  
  2994. 10: Octave
  2995. The higher the octave the noisier are the wood rings.
  2996.  
  2997. 11: Frequency
  2998. The higher the frequency the smaller the wood rings.
  2999.  
  3000. ›0m›1mExample:›0m
  3001. cube with size 2
  3002.  ›0m›3mIMTEXTURE wood.itx <0,0,0> <0,0,0> <1,1,1> 255 255 50 0 0 0 0 0 0 2 4›0m
  3003. ›3mPicture›0m
  3004.  
  3005. ›0m›1mMARBLE›0m
  3006.  
  3007. This texture applies a marble like texture to the surface.
  3008. Size of texture determines size of bumps.
  3009.  
  3010. ›0m›1mParameters:›0m
  3011.  
  3012. 1: Color Red
  3013. 2: Color Green
  3014. 3: Color Blue
  3015. Color. Other color is taken from object.
  3016.  
  3017. 4: Reflect Red
  3018. 5: Reflect Green
  3019. 6: Reflect Blue
  3020. Reflection color.
  3021.  
  3022. 7: Filter Red
  3023. 8: Filter Green
  3024. 9: Filter Blue
  3025. Filter color.
  3026.  
  3027. 10: Octave
  3028. The higher the octave the noisier is the texture.
  3029.  
  3030. ›0m›1mExample:›0m
  3031. cube with size 2
  3032.  ›0m›3mIMTEXTURE marble.itx <0,0,0> <0,0,0> <.5,.5,.5> 150 50 50 0 0 0 0 0 0 7›0m
  3033. ›3mPicture›0m
  3034.  
  3035. ›0m›1mRADIAL›0m
  3036.  
  3037. This texture varies the color of the object radial around the texture axis.
  3038.  
  3039. ›0m›1mParameters:›0m
  3040.  
  3041. 1: Start radius
  3042. Interploation start radius.
  3043.  
  3044. 2: End radius
  3045. Interploation end radius.
  3046.  
  3047. 3: Color Red
  3048. 4: Color Green
  3049. 5: Color Blue
  3050. Color to interpolate to.
  3051.  
  3052. 6: Reflect Red
  3053. 7: Reflect Green
  3054. 8: Reflect Blue
  3055. Reflection to interpolate to.
  3056.  
  3057. 9: Filter Red
  3058. 10: Filter Green
  3059. 11: Filter Blue
  3060. Filter to interpolate to.
  3061.  
  3062. ›0m›1mExample:›0m
  3063.  ›0m›3mIMTEXTURE "radial.itx" <0,0,0> <0,0,0> <1,1,1> 1 2 255 0 0›0m
  3064. ›3mPicture›0m
  3065.  
  3066. ›0m›1mSTARS›0m
  3067.  
  3068. This texture applies randomly stars to the surface. Cannot be used in
  3069. animations!
  3070.  
  3071. ›0m›1mParameters:›0m
  3072.  
  3073. 1: Color Red
  3074. 2: Color Green
  3075. 3: Color Blue
  3076. Color of the stars.
  3077.  
  3078. 4: Density
  3079. Star density. The higher the more stars (0. - 1.).
  3080.  
  3081. ›0m›1mExample:›0m
  3082.  ›0m›3mIMTEXTURE "stars.itx" <0,0,0> <0,0,0> <1,1,1> 255 255 255 0.1›0m
  3083. ›3mPicture›0m
  3084.  
  3085. ›0m›1mKNOWN BUGS›0m
  3086.  
  3087.  
  3088. ›0m›1mDISCLAIMER›0m
  3089.  
  3090. THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
  3091. LAW.  EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
  3092. OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
  3093. EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  3094. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  3095. ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
  3096. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  3097. SERVICING, REPAIR OR CORRECTION.
  3098.  
  3099. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
  3100. ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
  3101. AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
  3102. SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  3103. INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  3104. DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
  3105. OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
  3106. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  3107. DAMAGES.
  3108.  
  3109. ›0m›1mCOPYRIGHT›0m
  3110.  
  3111. The RayStorm package is Copyright 1995,96 by Andreas Heumann and Mike Hesser.
  3112. All Rights Reserved. It is released under the concept of `Shareware'.
  3113.  
  3114. The archive of RayStorm may only be distributed in unmodified form.  No files
  3115. may be added, changed or removed. You may not charge for this archive, other
  3116. than the cost of the media and duplication fees. Distribution is allowed in
  3117. all forms, such as BB systems, floppy or compact disks, and ftp sites.
  3118.  
  3119. ›0m›1mCREDITS›0m
  3120.  
  3121. We want to thank the following persons:
  3122.  
  3123. - Bernhard Moench - chairman of Plasma Pictures (a great Amiga club)
  3124.  
  3125.   Address:
  3126.  
  3127.   Plasma Pictures
  3128.   Reality and Imagination!
  3129.  
  3130.   Bernhard Moench
  3131.   Regensburger Strasse 28c
  3132.  
  3133.   10777 Berlin
  3134.   GERMANY
  3135.  
  3136. - Stephan Dorenkamp - for testing
  3137.  
  3138. - Maan Hamze - for testing, hundrets of suggestions and bugreports...
  3139.   ... and many many E-Mails
  3140.  
  3141. - Klaus Melchior for his listtree class
  3142.  
  3143. - Stefan Stunz for MUI
  3144.  
  3145. - Thanks to all registrated users for the support of the shareware concept.
  3146.  
  3147. ›0m›1mREGISTER›0m
  3148.  
  3149. If you like RayStorm use the registration programm to register.
  3150. Fill out the registration form and press the 'Print' button.
  3151. If the printer is installed correctly, the registration is printed out.
  3152. You can get information about the current agreements by pressing the 'Info'
  3153. button.
  3154.  
  3155. ›0m›1mAUTHORS›0m
  3156.  
  3157. For bug reports, comments, suggestions ... you can contact us at the
  3158. following addresses (E-mail prefered).
  3159.  
  3160.    Amiga-version:
  3161.  
  3162.    Andreas Heumann
  3163.  
  3164.    E-mail:  calvin@sol.wohnheim.uni-ulm.de (or heumann@hugo.rz.fh-ulm.de)
  3165.    S-mail:  Heilmeyersteige 105
  3166.             89075 Ulm
  3167.             Germany
  3168.  
  3169.     PC-version:
  3170.  
  3171.    Mike Hesser
  3172.  
  3173.    E-mail:  calvin@sol.wohnheim.uni-ulm.de
  3174.    S-mail:  Heilmeyersteige 105
  3175.             89075 Ulm
  3176.             Germany
  3177.  
  3178. ›0m›1mPC-VERSION›0m
  3179.  
  3180. The PC version is available on the Internet from our ›3mhomepage›0m.
  3181.  
  3182. ›0m›1mHISTORY›0m
  3183.  
  3184. ›3mRayStorm Scenario ›0m
  3185. ›3mRayStorm Script   ›0m
  3186. ›3mRayStorm Raytracer›0m
  3187.  
  3188. ›0m›1mHISTORY›0m
  3189.  
  3190. version 1.0b (27-August-96)
  3191. - initial release.
  3192.  
  3193. version 1.1 (04-October-96)
  3194. - save and load materials in attribute requester
  3195. - create cube, sphere, plane, tube, cone and torus mesh objects
  3196. - fixed bug with color requesters (colors changed every call)
  3197. - string gadgets now advance to next/prev gadget when return is pressed
  3198. - improved zooming with the mouse
  3199. - added enable button for render area
  3200. - fixed problems with KS-versions less than 3.0 (<39)
  3201. - key 't' opens settings requester
  3202. - added new preview resolutions (NTSC 80x50,PAL 80x64,VGA 80x60)
  3203. - if more than one object is selected the object for attributes can be
  3204.   selected by the browser
  3205. - implemented two browser modes
  3206. - added center view with 'R-Amiga - .'
  3207. - joined settings and transform requester
  3208. - several bugfixes
  3209. - improved object scaling with mouse
  3210. - can now scale external objects
  3211.  
  3212. version 1.2 (29-November-96)
  3213. - forgot to scale child objects of external objects
  3214. - added ok button to render requester
  3215. - added ›3mcamera to viewer›0m
  3216. - added hierarchical object browser
  3217. - ask for rendering of scenes with no light sources
  3218. - bugfix: it was impossible to track and to set the opening angle of a
  3219.   spotlight
  3220. - convert external to scene objects
  3221. - added RayStorm object file format (RSOB)
  3222. - fixed problem with vertical stripes with 020-version
  3223. - fixed problem with screen update
  3224. - coordinate display even if no object is translated
  3225. - focal distance of camera can automatically be set to camera-track distance
  3226. - added preview to attributes requester
  3227. - improved color selection for rendering preview window
  3228. - added show and save button to registration program
  3229. - added some materials
  3230. - added lens effects (flares, light star)
  3231.  
  3232. ›0m›1mHISTORY›0m
  3233.  
  3234. version 1.02 (16-August-95)
  3235. - added BRIGHT-flags for surface
  3236. - deleted TRANSATTU
  3237.  
  3238. version 1.081 (08-October-95)
  3239. - added listview for history
  3240.  
  3241. version 1.13 (01-November-95)
  3242. - now more than one path with PATH-commands possible
  3243.  
  3244. version 1.16 (09-January-96)
  3245. - added 'SOFTSHADOW' to 'DISTRIB'
  3246. - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
  3247.  
  3248. version 1.2 (29-February-96)
  3249. - bugfix 'ANTIALIAS' command: parameter CONTRIB produced error 30
  3250.  
  3251. version 1.22 (25-April-96)
  3252. - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
  3253.  
  3254. version 1.26 (04-October-96)
  3255. - fixed a bug which caused the program to crash on exit
  3256.  
  3257. version 1.3 (29-November-96)
  3258. - added 'FLARE' and 'STAR'
  3259.  
  3260. ›0m›1mHISTORY›0m
  3261.  
  3262. version 1.0 (09-July-95)
  3263. - initial release.
  3264.  
  3265. version 1.01 (15-August-95)
  3266. - added soft shadows
  3267. - added random jitter
  3268. - added brush repeat and mirror
  3269.  
  3270. version 1.02 (16-August-95)
  3271. - bugfix: altitude mapping -> black object: fixed
  3272. - bugfix: loading of TDDD-objects with brushes crashed: fixed
  3273. - added backdrop picture
  3274. - added BRIGHT-flags for surface
  3275. - added fog
  3276.  
  3277. version 1.03 (17-August-95)
  3278. - bugfix: sphere intersection test: fixed
  3279.  
  3280. version 1.04 (21-August-95)
  3281. - added global fog
  3282.  
  3283. version 1.05 (28-August-95)
  3284. - added animation commands
  3285.  
  3286. version 1.06 (01-September-95)
  3287. - added motion blur
  3288.  
  3289. version 1.07 (10-September-95)
  3290. - added specular brush mapping
  3291.  
  3292. version 1.08 (11-September-95)
  3293. - added rendering box
  3294.  
  3295. version 1.081 (08-October-95)
  3296. - added global reflection map
  3297. - changed error messages
  3298.  
  3299. version 1.082 (11-October-95)
  3300. - improved memory management for Imagine objects
  3301.  
  3302. version 1.083 (12-October-95)
  3303. - changed spotlight direction to lookpoint and added actor for lookpoint
  3304. - new form for vectors '<x,y,z>'
  3305. - new form for colors '[r,g,b]'
  3306.  
  3307. version 1.1 (18-October-95)
  3308. - next offical release
  3309.  
  3310. version 1.11 (19-October-95)
  3311. - bugfix: Imagine fog objects are now loaded properly
  3312. - added parameter check for field rendering
  3313.  
  3314. version 1.12 (21-October-95)
  3315. - speedup of motion blur
  3316.  
  3317. version 1.13 (01-November-95)
  3318. - bugfix: spotlight look point changed camera view point
  3319. - added soft interpolation of colors for brushmapping
  3320. - bugfix: objects behind light sources casted shadows
  3321.  
  3322. version 1.14 (03-November-95)
  3323. - changed default gaussian filter width from 1.8 to 1.3
  3324. - bugfix: problem with global fog
  3325. - plane can now be animated
  3326. - changed axis position in flat brush mapping
  3327. - added 'Time spend' and 'Time left'
  3328.  
  3329. version 1.15 (28-November-95)
  3330. - added PNG- and ILBM-modules
  3331. - added radial texture
  3332.  
  3333. version 1.16 (09-January-96)
  3334. - bugfix in PNG-module: had problems with palette pictures
  3335. - bugfix motion blur: had a problem with voxel calculations
  3336. - bugfix motion blur: had no motion blur in scenes with planes
  3337. - added TGA-module
  3338. - added 'SOFTSHADOW' to 'DISTRIB'
  3339. - optimized octree (up to 10% faster)
  3340. - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
  3341. - bugfix can now load plane
  3342. - bugfix can now load multiple planes or perfect spheres
  3343.  
  3344. version 1.17 (18-February-96)
  3345. - object loading is now done in modules
  3346. - added 3DS module
  3347. - bugfix in TDDD-module: hardness is now used to set REFEXP
  3348. - brushes and textures are no applied to surfaces which lie
  3349.   between the light source and the illuminated surface
  3350. - bugfix antialiasing: there where some bright pixel trash in the picture
  3351.   if antialiasing with fog was used
  3352. - rewrote bump, wood and marble textures
  3353. - global reflections map is now applied in 'QUICK' mode too
  3354.  
  3355. version 1.2 (29-February-96)
  3356. - bugfix: last line of picture has been always black
  3357. - bugfix: had problems with Imagine 4.0 TDDD objects
  3358.  
  3359. version 1.21 (25-March-96)
  3360. - TDDD objects are now rotated and scaled relative to axis of first object
  3361. - bugfix: since 1.2 shadows in motion blur scenes were calculated false
  3362. - bugfix: in some cases there were vertical and horizontal stripes in
  3363.   rendered pictures
  3364. - bugfix: triangles which were exactly in one plane (XY,XZ,YZ) disapeared
  3365.  
  3366. version 1.22 (25-April-96)
  3367. - bugfix: had problems with sharp edges of TDDD objects
  3368. - bugfix: altitude brush mapping produced ugly results
  3369. - bugfix: fixed some motion blur bugs
  3370. - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
  3371. - added Datatype support for all commands which load brushes
  3372.  
  3373. version 1.25 (08-September-96)
  3374. - the RayStorm kernel is now a shared library
  3375. - added support of new TDDD TXT4 chunk for textures from Imagine 4.0
  3376. - changed the world axis orientation (x left, y up, z in)
  3377.  
  3378. version 1.26 (04-October-96)
  3379. - fixed error in marble texture
  3380. - bugfix: had problems with sharp edges of TDDD objects (once again)
  3381.  
  3382. version 1.3 (29-November-96)
  3383. - recompiled raystorm.library with StormC -> upto 30% faster (68030/881)
  3384. - backdrop pictures are now automatically scaled
  3385. - added lens effects (flare, light star)
  3386.  
  3387. ›0m›1mHOMEPAGE›0m
  3388.  
  3389. Come and visit our RayStorm-Homepage! There you can always get the latest
  3390. version of RayStorm and can see some example pictures.
  3391.  
  3392. The address:
  3393. http://sol.wohnheim.uni-ulm.de/~calvin/raystorm.html
  3394.  
  3395. ›0m›1mFUTURE ADDITIONS›0m
  3396.  
  3397. ›0m›1mRayStorm Scenario›0m
  3398.  
  3399. - modify triangle objects
  3400. - animation control
  3401. - Arexx port
  3402. - undo
  3403. - solid display (z-Buffer) (why is there no useable (fast) version of OpenGL for
  3404.   Amiga available?)
  3405. - use Imagine staging files
  3406.  
  3407. ›0m›1mRayStorm Raytracer›0m
  3408.  
  3409. - more objects (torus, cylinder, ...)
  3410. - JPEG-saver
  3411. - animation language (ALAN)
  3412. - shadow caching
  3413. - more textures
  3414. - don't allocate whole picture buffer at once
  3415. - diffuse reflectivity
  3416. - diffuse transparency
  3417. - better light FX (lens flares)
  3418. - log file
  3419. - apply post-2D-FX
  3420. - spline interpolation for actors
  3421. - load Lightwave format
  3422. - CSG (Constructive Solid Geometry)
  3423. - metaballs
  3424. - some extra programs (e.g. terrain and plant generation)
  3425.  
  3426. ›0m›1mAdvanced Animation and Rendering Techniques:
  3427. Theory and Practice›0m
  3428.  
  3429. by
  3430. Alan Watt, Mark Watt, Addison-Wesley
  3431.  
  3432. ›0m›1mTexturing and Modeling:
  3433. A procedural Approach›0m
  3434. by
  3435.  
  3436. Ebert, Musgrave, Peachy, Perlin, Worley
  3437.  
  3438. ›0m›1m-A-›0m
  3439.   ›3mAbout           ›0m
  3440.   ›3mActive          ›0m
  3441.   ›3mALIGNMENT       ›0m
  3442.   ›3mAltitude brush  ›0m
  3443.   ›3mAMBIENT         ›0m
  3444.   ›3mANTIALIAS       ›0m
  3445.   ›3mAntialiasing    ›0m
  3446.   ›3mARexx           ›0m
  3447.   ›3mAttributes      ›0m
  3448.   ›3mAuthor          ›0m
  3449. ›0m›1m-B-›0m
  3450.   ›3mBackdrop        ›0m
  3451.   ›3mBrowse          ›0m
  3452.   ›3mBrushes         ›0m
  3453.   ›3m - show         ›0m
  3454.   ›3mBRUSH           ›0m
  3455.   ›3mBRUSHPATH       ›0m
  3456.   ›3mBugs            ›0m
  3457.   ›3mBump            ›0m
  3458.   ›3mButtons         ›0m
  3459. ›0m›1m-C-›0m
  3460.   ›3mCamera          ›0m
  3461.   ›3m - Active       ›0m
  3462.   ›3m - Settings     ›0m
  3463.   ›3m - to viewer    ›0m
  3464.   ›3mChecker         ›0m
  3465.   ›3mCLEANUP         ›0m
  3466.   ›3mCLEANUP         ›0m
  3467.   ›3mColor brush     ›0m
  3468.   ›3mCommands        ›0m
  3469.   ›3mCoordinates     ›0m
  3470.   ›3mCopy            ›0m
  3471.   ›3mCopyright       ›0m
  3472.   ›3mCredits         ›0m
  3473.   ›3mCut             ›0m
  3474.   ›3mCylinder mapping›0m
  3475. ›0m›1m-D-›0m
  3476.   ›3mDelete          ›0m
  3477.   ›3mDepth of field  ›0m
  3478.   ›3mDeselect All    ›0m
  3479.   ›3mDIFFTRANS       ›0m
  3480.   ›3mDIFFUSE         ›0m
  3481.   ›3mDISPLAY         ›0m
  3482.   ›3mDISTRIB         ›0m
  3483. ›0m›1m-E-›0m
  3484.   ›3mErrors          ›0m
  3485.   ›3mExamples        ›0m
  3486. ›0m›1m-F-›0m
  3487.   ›3mFeatures        ›0m
  3488.   ›3mFilter brush    ›0m
  3489.   ›3mFLARE           ›0m
  3490.   ›3mFlat mapping    ›0m
  3491.   ›3mFocus           ›0m
  3492.   ›3mFog             ›0m
  3493.   ›3mFOGLEN          ›0m
  3494.   ›3mFuture          ›0m
  3495. ›0m›1m-G-›0m
  3496.   ›3mGeneral         ›0m
  3497.   ›3mGETERRORSTR     ›0m
  3498.   ›3mGlobal          ›0m
  3499.   ›3mGrid            ›0m
  3500.   ›3m - Size         ›0m
  3501.   ›3m - Snap to      ›0m
  3502. ›0m›1m-H-›0m
  3503.   ›3mHistory         ›0m
  3504.   ›3mHomepage        ›0m
  3505. ›0m›1m-I-›0m
  3506.   ›3mIMTEXTURE       ›0m
  3507.   ›3mInternals       ›0m
  3508.   ›3mInstallation    ›0m
  3509.   ›3mIntroduction    ›0m
  3510.   ›3m - Raytracer    ›0m
  3511.   ›3m - Scenario     ›0m
  3512.   ›3m - Script       ›0m
  3513. ›0m›1m-L-›0m
  3514.   ›3mLegal Stuff     ›0m
  3515.   ›3mLens flares     ›0m
  3516.   ›3mLimitations     ›0m
  3517.   ›3mLinear          ›0m
  3518.   ›3mLoad            ›0m
  3519.   ›3mLOADOBJ         ›0m
  3520.   ›3mPointLight Set. ›0m
  3521.   ›3mSpotLight Set.  ›0m
  3522. ›0m›1m-M-›0m
  3523.   ›3mMarble          ›0m
  3524.   ›3mMenus           ›0m
  3525.   ›3mMesh            ›0m
  3526.   ›3m - Axis         ›0m
  3527.   ›3m - Cube         ›0m
  3528.   ›3m - Sphere       ›0m
  3529.   ›3m - Plane        ›0m
  3530.   ›3m - Tube         ›0m
  3531.   ›3m - Cone         ›0m
  3532.   ›3m - Torus        ›0m
  3533.   ›3mMesh Settings   ›0m
  3534.   ›3mMode            ›0m
  3535.   ›3mMotion Blur     ›0m
  3536.   ›3mMUI Prefs       ›0m
  3537. ›0m›1m-N-›0m
  3538.   ›3mNew             ›0m
  3539.   ›3mNEWACTOR        ›0m
  3540.   ›3mNEWSURFACE      ›0m
  3541. ›0m›1m-O-›0m
  3542.   ›3mOBJECTPATH      ›0m
  3543.   ›3mOpen            ›0m
  3544. ›0m›1m-P-›0m
  3545.   ›3mParameters      ›0m
  3546.   ›3mPaste           ›0m
  3547.   ›3mPC-Version      ›0m
  3548.   ›3mPlane           ›0m
  3549.   ›3mPLANE           ›0m
  3550.   ›3mPointlight      ›0m
  3551.   ›3m - Settings     ›0m
  3552.   ›3mPOINTLIGHT      ›0m
  3553.   ›3mPOSITION        ›0m
  3554.   ›3mPrefs           ›0m
  3555.   ›3mPrefs Load      ›0m
  3556.   ›3mPrefs Save      ›0m
  3557. ›0m›1m-Q-›0m
  3558.   ›3mQuit            ›0m
  3559.   ›3mQUIT            ›0m
  3560. ›0m›1m-R-›0m
  3561.   ›3mRadial          ›0m
  3562.   ›3mRedraw          ›0m
  3563.   ›3mREFEXP          ›0m
  3564.   ›3mREFLECT         ›0m
  3565.   ›3mReflect brush   ›0m
  3566.   ›3mReflection map  ›0m
  3567.   ›3mREFRINDEX       ›0m
  3568.   ›3mRegister        ›0m
  3569.   ›3mRender          ›0m
  3570.   ›3m - Settings     ›0m
  3571.   ›3mRequirements    ›0m
  3572. ›0m›1m-S-›0m
  3573.   ›3mSave            ›0m
  3574.   ›3mSave As         ›0m
  3575.   ›3mSAVEPIC         ›0m
  3576.   ›3mSelect All      ›0m
  3577.   ›3mSelect Next     ›0m
  3578.   ›3mSelect Previous ›0m
  3579.   ›3mSettings        ›0m
  3580.   ›3mSETCAMERA       ›0m
  3581.   ›3mSETSCREEN       ›0m
  3582.   ›3mSETWORLD        ›0m
  3583.   ›3mSIZE            ›0m
  3584.   ›3mShow            ›0m
  3585.   ›3m - Coordinates  ›0m
  3586.   ›3m - Names        ›0m
  3587.   ›3m - Brushes      ›0m
  3588.   ›3m - Textures     ›0m
  3589.   ›3mSoft shadows    ›0m
  3590.   ›3mSPECTRANS       ›0m
  3591.   ›3mSPECULAR        ›0m
  3592.   ›3mSpecular brush  ›0m
  3593.   ›3mSphere          ›0m
  3594.   ›3mSPHERE          ›0m
  3595.   ›3mSphere mapping  ›0m
  3596.   ›3mSpotlight       ›0m
  3597.   ›3m - Settings     ›0m
  3598.   ›3mSPOTLIGHT       ›0m
  3599.   ›3mSTAR            ›0m
  3600.   ›3mStars           ›0m
  3601.   ›3mSTARTRENDER     ›0m
  3602.   ›3mSurface         ›0m
  3603. ›0m›1m-T-›0m
  3604.   ›3mTEXTUREPATH     ›0m
  3605.   ›3mTextures        ›0m
  3606.   ›3m - description  ›0m
  3607.   ›3m - show         ›0m
  3608.   ›3mTips & Tricks   ›0m
  3609.   ›3mTRANSEXP        ›0m
  3610.   ›3mTransform       ›0m
  3611.   ›3mTRANSLUC        ›0m
  3612.   ›3mTRANSPAR        ›0m
  3613.   ›3mTRIANGLE        ›0m
  3614.   ›3mTutorials       ›0m
  3615. ›0m›1m-U-›0m
  3616.   ›3mUsage           ›0m
  3617. ›0m›1m-V-›0m
  3618.   ›3mView            ›0m
  3619.   ›3mVirtual Memory  ›0m
  3620.   ›3mVisible Light   ›0m
  3621. ›0m›1m-W-›0m
  3622.   ›3mWINTOFRONT      ›0m
  3623.   ›3mWood            ›0m
  3624.   ›3mWWW             ›0m
  3625. ›0m›1m-Z-›0m
  3626.   ›3mZoom fit        ›0m
  3627.   ›3mZoom in         ›0m
  3628.   ›3mZoom out        ›0m
  3629.